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

 

视频学习地址:http://www.imooc.com/video/5801

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值