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中进行相等/等同、不等/不等同判断时,一定要注意类型的转换,推荐使用等同/不等同!


0 0
原创粉丝点击