笔记3——JavaScript 运算符

+:转换成数字
~:按位求反,相当于改变符合并且减一
void:返回undefined
<<:左移位
>>:右移位
>>>:无符号右移
intanceof:测试对象类
in:测试属性书否存在
^:桉位或与
':忽略第一个操作数,返回第二个操作数


NaN===NaN //false

可以通过x!==x;//true来判断该变量是否为NaN
NaN 比较操作返回都是false


String 比较

  1. localCompare:字符串比较,区分字母大小写stringObject.localeCompare(target) 说明比较结果的数字。如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。
  2. toLowerCase
  3. 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指令开始,不能再局部作用域中定义新的函数和变量。是作为保留字存在


引用:

  1. Javascript中的void操作符
  2. JavaScript localeCompare()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值