JavaScript学习笔记——表达式与运算符

原始表达式


常量、直接量: 3.14,"test"
关键字          : null,this,true
变量             :i,k,j

复合表达式


原始表达式 (运算符) 原始表达式     ====》 复合表达式

数组对象的初始化表达式



[1,2]            new Array(1,2)
[1,,,4]           [1,undefined,undefined,4]
                   var o = new Object();
{x:1,y:2}        o.x = 1;
                   o.y = 2;

函数表达式


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


属性访问表达式


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

调用表达式


function();

对象创建表达式


new Func(1,2);
new Object;


运算符
一元运算符:     +num
二元运算符:     a+b
三元运算符:     c?a : b

按功能:
赋值(+=)、比较(==)、算数(+/-)、位( | )、逻辑(&&)、字符串(+)、特殊(delete)

,表达式 (逗号表达式)
 a,b;
var val = (1,2,3);               //val = 3;
从左到右依次计算值,然后取最右侧的值
逗号运算符在JavaScript在的优先级是最底的

delete obj.x;

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


Object.defineProperty(obj,'z',{
    configurable:false,
    value:3
});

此时z就不能被删除了

in运算符

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


instanceof

{} 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__.hasOwnProperty('x');          //true


this运算符

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

void运算符

void 0;               //undefined
void(0);               //undefined
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值