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

本文详细探讨了JavaScript中的表达式和运算符,包括this的指向、对象属性访问、赋值运算的优先级、位运算符的应用、比较运算符的规则以及eval和delete的特殊行为。内容涵盖常量、方法内的this、对象属性、一元和位运算、逻辑运算以及运算符的优先级和结合性等核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值