表达式和运算符学习笔记
来源:互联网 发布:php九九乘法表 编辑:程序博客网 时间:2024/05/01 23:55
1.“=”、“==”、“===” 赋值、相等、恒等的区别
“=” 称作“得到或赋值”
“==”称作相等运算符,用来检测两个操作数是否相等,这里“相等“的定义非常宽松,可以进行类型转换
”===“严格相等运算符,比较过程没有任何类型转换
2.”+“运算符更偏爱字符串,比较运算符更偏爱数字
”+“运算符:如果两个操作数其中一个是字符串,则进行字符串连接
比较运算符:只有两个操作数都是字符串时才进行字符串比较,否则进行数字比较
3.in运算符
in运算符希望它的左操作数是一个字符串或者可以转换为字符串,希望它的右操作数是一个对象。如果右侧的对象拥有一个名为左操作数数值的属性名,则返回true。
var point = { x:1, y:2 };
"x" in point //返回true
4.instanceof运算符
instanceof运算符希望左操作数是一个对象,右操作数标识对象的类。
当通过instanceof判断一个对象是否是一个类的实例的时候,这个判断也会包含对"父类”的检测。
5.逻辑与(&&)
如果做操作数是真值,“&&”操作将计算右操作数的结果,并将其返回作为整个表达式的结果;如果做操作数是假值,“&&”操作将左操作数结果返回作为整个表达式的结果,而不计算右操作数。返回结果并不总是true或false。
var o = { x:1 };
var p = null;
o && o.x; //返回1。o是对象,所有对象都转换为true,返回右操作数结果
p&&p.x; //返回null。p是假值,直接将其返回
5.eval()
直接调用eval()时,它总是在调用它的上下文作用域内执行。其他间接调用则使用全局对象作为其上下文作用域。
严格模式下的"eval"列为保留字,这让eval()更像一个运算符。不能用一个别名覆盖eval()函数。
var geval = eval; //使用别名调用eval将是全局eval
var x ="global",y="global";
function f(){
var x="local";
eval("x+='changed';"); //直接eval更改了局部变量的值
return x; //返回更改后的局部变量
}
function g(){
var y="local";
geval("y+='changed';"); //间接调用改变了全局变量的值
return y; //返回未更改的局部变量
}
console.log(f(),x); //localchangedglobal
console.log(g(),y); //localglobalchanged
6.delete运算符
用来删除对象属性或数组元素。删除数组元素不改变数组长度。通过var语句声明的变量是不可删除的。
var a=[1,2,3];
delete a[2];
2 in a; //false
a.length; //3.
- 表达式和运算符学习笔记
- 【python学习笔记】运算符和表达式
- (笔记)运算符和表达式
- (6)JavaScript学习笔记 - 表达式和运算符
- 【js学习笔记-025】-- 表达式和运算符
- C语言学习笔记3-运算符和表达式
- #C语言学习笔记#运算符、表达式和语句
- 【JAVA学习笔记】02 运算符、表达式
- 学习笔记3 运算符与表达式
- java学习笔记02--运算符、表达式 .
- 【python学习笔记】运算符、表达式
- c# 关键字,运算符,表达式 -学习笔记
- [学习笔记03]运算符表达式
- 学习C++ (运算符和表达式)
- C语言学习:运算符和表达式
- C#学习之路,学习笔记 第三章 运算符和表达式(运算符、优先级、类型转换)
- 《C和指针》学习笔记三/语句 操作符和表达式 指针的运算/
- Javascript学习笔记(二)Javascript核心之表达式和运算符
- java jni 入门2 - 数值参数与返回值
- ubuntu14.04(Kylin) 自带Chromium不能在bilibili看视频的解决方法
- js学习笔记----月考题解析--try catch finally
- Android SlideMenu基本属性介绍
- Android中的View
- 表达式和运算符学习笔记
- 前序创建二叉树+ 前序/中序/后序遍历二叉树
- 09-网站标题图片设置
- Nginx负载均衡配置实例详解
- get和post
- NSCache的使用,SDWebImage的使用,Reachability联网状态检测框架的使用
- 《leetCode》:Rotate Image
- 大话AlarmManage
- swift 重载 泛式 inout的使用