JavaScript内核笔记01-基础
来源:互联网 发布:淘宝店家订单管理导出 编辑:程序博客网 时间:2024/04/30 13:49
JavaScript特点:动态性、弱类型、基于原型的脚本语言。
JavaScript一切皆为对象。
JavaScript数据类型分为:基本数据类型(字符串、数值和布尔值)和对象数据类型(对象-属性的集合,即键值或散列表、数组-有序列表 及 函数-包含可执行的代码)。
可以用typeof运算符(是一个一元运算符)判断数据类型,比如:var a='123'; alert(type a);结果:string 还有instanceof 操作符也可以用来判断类型
JavaScript中所有的数字,整数、浮点数都是“数值”基本类型;
三种对象类型举例:
1、对象:
var str="hello world";
var obj=new Object();
obj.str=str;
obj.num=2.3;
2、数组:
var array=new Array("a","b","c");
3、函数:
var func=function()
{
alert("i'm a function as a object ");
}
在定义变量时,要注意:函数内部的变量var标示时必须的,否则如果没有var标示,解析引擎会将其判定为全局变量。
JavaScript运算符:
1、中括号运算符[],它可以用在数组和对象上,如下例:
var array=['one','two','three','four'];
alert(array[0]);
[]同样可以用于对象,对象中的属性一般是通过点运算符(.)来取值,但是也可以通过[]来取,就类似于map结构,key为属性名,如下例:
var object={
field:'self',
printInfo:function()
{
alert(this.field);
}
};
object.field;
object.printInfo();
遍历一个对象时就可以用[]运算符,如下例:
for(var key in object)
{
alert(key+':'+object[key]);
}
2、点运算符(.)
点运算符的左边为对象,右边为属性名。
3、==和===以及!=和!==
== 叫做相等,相对运算符在比较时,两边的数据类型会自动转型;
===叫做等同,该运算符在比较时,两边的数据不会自动转型,也就是类型必须一致才为真;
相等运算符,如果操作数据具有相同的类型,则判断其等同性,如果两个操作符的值相等,则返回true,否则返回false,如果两个操作符的类型不同,则按照如下情况来判断:
A、null和undefined相等
B、其中一个是数字,一个是字符串 ,则将字符串转换为数字,再作比较
C、其中一个是true,先转换为1(false转换为0)再做比较
D、如果一个是对象,另一个是数字或字符串,则将对象转换为原始值(通过toString()或者valueOf()方法)
E、其他情况则直接返回false
等同运算符,如果操作数的类型不同,则直接返回false,不进行值的判断;如果操作数的类型相同,则分别判断以下情况:
A、都是数字的情况,如果值相同则两者等同(有一个例外,就是NaN,NaN与其本身也不相等),否则不等同
C、都是字符串的情况,与其他程序设计语言一样,如果串的值不等,则不等同,否则等同
D、都是布尔值,且值为true/false,则等同,否则不等同
E、如果两个操作数引用同一个对象(数组、函数),则两者完全等同,否则不等同
F、如果两个操作数均为:null/undefined,则等同,否则不等同
注意:在JavaScript中进行相等/等同、不等/不等同判断时,一定要注意类型的转换,推荐使用等同/不等同!
- JavaScript内核笔记01-基础
- JavaScript内核笔记03-函数
- JavaScript内核笔记04-数组
- javascript基础笔记
- 学习笔记--------JavaScript基础
- JavaScript笔记 语言基础
- JavaScript笔记 语言基础
- JavaScript基础笔记
- Javascript基础笔记总结
- JavaScript基础笔记
- JavaScript基础笔记
- Javascript基础笔记
- JavaScript 基础 学习笔记
- JavaScript笔记-js基础
- javascript笔记 --基础
- [学习笔记]JavaScript基础
- [学习笔记]JavaScript基础
- JavaScript基础学习笔记
- mobile 纵向像素布局 全屏幕
- 05 java.lang.String
- AsyncTask 与 Thread+Handler区别
- CS,八,数据抽象
- MFC实现原理
- JavaScript内核笔记01-基础
- myeclipse通过svn导入项目报错版本问题
- iptables(二)--扩展详解
- 需要在一个1亿行的大表中,删除1千万行数据。您有什么好的方案。
- 黑马程序员——Java基础---集合
- 初学Android的一些注意事项
- Struts2中的redirect参数传递
- HDU4160 Dolls(最大匹配)
- 关闭来电归属地