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

笔记3——JavaScript 运算符

2015-11-09 21:44 681 查看
+
:转换成数字

~
:按位求反,相当于改变符合并且减一

void
:返回
undefined


<<
:左移位

>>
:右移位

>>>
:无符号右移

intanceof
:测试对象类

in
:测试属性书否存在

^
:桉位或与

'
:忽略第一个操作数,返回第二个操作数

NaN===NaN //false


可以通过
x!==x;//true
来判断该变量是否为
NaN


NaN 比较操作返回都是false

String 比较

localCompare:字符串比较,区分字母大小写
stringObject.localeCompare(target)
说明比较结果的数字。如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。

toLowerCase

toUpperCase

'Zoo'<'aardvark' //true

'Zoo'.toLocaleUpperCase()< 'aardvark'.toLocaleUpperCase()//false

'11'<'3'//true
'11'<3//false
'one'<3//false


&&

计算方向是从左边到右边,如果左边是
false
则返回左边值,如果左边值是
true
,则返回右边值

&&
运算返回的值不一定都是
boolean


var  d = new Date();
'ddd'&&d //Mon Nov 09 2015 21:26:00 GMT+0800 (中国标准时间)
0&&d //0
NaN && d //NaN


in 运算符

var point ={x:1,y:2};
'x' in point //true 对象里有一个x对象
'z' in point //false
'toString' in point //true 对象继承了toString方法

var data = [7,8,9];
'0' in data //true 转换成 '0' 索引值
1 in data  //true 数字转换成字符串
3 in data


instanceof 运算符

var  d = new Date();
d instanceof Date //true
d instanceof Object //true
d instanceof Number //false


eval

局部eval 和全局 eval ECMAScript5有上下文作用域在3版本是不允许给eval设置别名。

var geval =eval;
var x ='g',y='g';

function f(){
var x = 'local';
eval('x+=" changed";');
return x;
}
function g(){
var y = 'local';
geval('y+=" changed";');
return y;
}
console.log(f(),x) // local changed g
console.log(g(),y) // local g changed


ie9 早期版本有一个全局的
eval
函数
execScript()
,但是
execScript
总是返回
null


ECMAScript5
严格模式中执行代码段以
use strict
指令开始,不能再局部作用域中定义新的函数和变量。是作为保留字存在

引用:

Javascript中的void操作符

JavaScript localeCompare()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: