您的位置:首页 > Web前端 > JavaScript

js读书心得(第四章 表达式和运算符)

2014-04-23 11:32 127 查看
第4章

1.表达式原始值:常量、或者直接量、关键字。(truefalse null this)

2.在一个方法体内,this返回调用这个方法的对象。

3.对象直接量中的属性值可以是字符串而非标识符。(这在那些只能使用保留字,或者使用非法标识符作为属性名的地方非常有用。)

4.对象用中括号访问属性,中括号里的属性名需要加引号。O.[“x”]

5.当属性名是通过计算得出的值而不是固定的值的时候,必须用【】获取属性。

6.左值:表达式只能出现在赋值运算符的左侧。

7.属性表达式的优先级和调用表达式的优先级比所有的运算符优先级都高。

8.赋值运算的优先级非常低,通常是最后执行。

9.一元操作符、赋值、三元运算符都有从右往左的结合性。~ - = ?:

10.js总是严格按照从左至右的顺序计算子表达式的值。a=1 b=(a++)+a 结果b=3.

11.0/0的结果是NaN。
12.2+undefined结果是NaN;undefined转换为原始值是NaN;null转换为原始值是0.
13.位运算符会将NaN、Infinity、-Infinity转换为0.
14.<运算符偏爱数字,+号运算符偏爱字符串。当其中一个操作数是NaN时,所有比较运算符都返回false。
15.in运算符:判断一个属性名是否在一个对象里。(左操作数是字符串或者可以转换为字符串)
16.instanceof判断一个对象是否是另一个对象的实例。左操作数是对象,右操作数是一个类。
17.运算符“<”比较运算符,可以比较数字值的大小,也可以比较字符在字母表中顺序的先后。
18.属性访问表达式和调用表达式的优先级要比所有表中列出的运算符的优先级高。
19.比较运算符,当有一个操作数是NaN或者转换为NaN的时候,比较结果都是false。
20.利用逻辑与的短路行为,控制右操作数是否执行。
21.逻辑或||最常用的方式是:从一组备选表达式中选出第一个真值表达式。
22.逻辑与逻辑或 如果操作数不是布尔值,那么将返回前边的操作数值或者是后边的操作数值,这取决于真假。
23.逻辑非总是返回true或者false。
24.data[i++] *=2;不等价与 data[i++]=data[i++]*2
25.eval()解析运行字符串。
26.直接调用eval()时,他总是在调用的上下文中执行。
间接调用eval()时,他总是使用全局对象作为其上下文作用域,无法读取、定义局部变量和函数。
27.delete 的参数不是左值,返回true;删除不存在的属性,返回true。不能删除var定义的变量。否则返回false。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: