JavaScript深入浅出学习笔记(二)—表达式和运算符

一.表达式

        表达式是指能计算出值的任何可用程序单元。—Wiki

        表达式是一种JS短语,可使JS解释器用来产生一个值。—《JS权威指南》

1.原始表达式

        a.常量、直接量,如3.14,"test"

        b.关键字,如null,this,true

        c.变量,如i,k,j

2.复合表达式

 3.数组、对象的初始化表达式

        [1,2]:new Array(1,2);

        [1,,,4]:[1,undefined,undefined,4]

        {x:1,y:2}:var o = new Object(); o.x=1;o.y=2;

4.函数表达式

var fe = function(){};

(function(){console.log('hello world');})();

5.属性访问表达式

var o={x:1};
o.x
o.['x']

6.调用表达式

func();

7.对象创建表达式

//用new来建一个构造器或函数,可以传参
new Func(1,2);
//如果没有参数,可以把括号直接省略
new Object;

 

二.运算符

1.按操作数个数分类

        一元:+num

        二元:a+b

        三元:c?a:b

2.按功能分类

        a.赋值运算符:x+=1

        b.比较运算符:a==b

        c.算术运算符:a-b

        d.位运算符:a|b

        e.逻辑运算符:exp1&&exp2

        f.字符串运算符:"a"+"b"

        g.特殊运算符:

        条件运算符:

var val=true?1:2;//val=1

        delete运算符:

var obj = {x:1};
obj.x; //1
delete obj.x
obj.x; //undefined

        逗号运算符:a,b

var val=(1,2,3);//val = 3

        IE9开始,新增了Object.defineProperty方法,此方法可以设置configurable属性,如果它被设置成false,就不能delete掉。

var obj = {};
Object.defineProperty(obj, 'x', {
 configurable: false,
value:1
});
delete obj.x;//false
obj.x; //1

        in运算符:

window.x = 1;
'x' in window;//true

        instanceof、typeof运算符:

{} instanceof Object //true
typeof 100 === 'number' //true

        new运算符:

function Foo(){}
Foo.prototype.x = 1;
var obj = new Foo();
obj.x; //1
obj.hasOwnProperty('x'); //false
obj._proto_.haOwnProperty('x');//true

        说明:hasOwnProperty方法可以用来判断属性是对象上的还是对象的原型链上的。

        this运算符:

this; //window(浏览器)
var obj = {
 func: function() {return this;}
};
obj.func();//obj

        运算符void:不管void后的操作数是多少,都会返回undefined

void 0 //undefined
void(0) //undefined

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值