js 表达式和运算符

表达式

表达式分为

  • 原始表达式
    常量/直接量: 3.14 “test” /\d+/ 等
    关键字: null,this,true,false 等
    变量: i,k,undefined 等
  • (数组、对象的)初始化表达式
    [1,2] 等价于 new Array(1,2);
    [1,,,2] 等价于 new Array(1,undefined,undefined,2);
    {x:1,y:2} 等价于 var obj = new Object();
    obj.x = 1;obj.y = 2;
  • 函数表达式
    var fn = function(){};或者 var fn =()=>{}
  • 属性访问表达式
    a[“b”]等同于a.b,
  • 调用表达式
    func(); 来调用一个函数,这样的表达式就称之为调用表达式。
  • 对象创建表达式
    new Func(1,2);我们可以传参,如果没有参数我们也可以new Object;创建一个空的对象这样也是合法的。

运算符

按个数区分
- 一元运算符: +num
- 二元运算符: a + b
- 三元运算符: c?a:b
 
运算符大全
运算符
这里提一下delete方法的副作用,此方法是直接删除对象的属性。若要删除属性可以把属性赋值undefined并返回。

var a = {a:1}
delete a.a
console.log(a)//{}

++a ,–a,+=,-=等等都会直接赋值,尽量避免这些副作用。
==和===都是比较相等,===是更为严格的相等。详情看这篇博客最后的比较图。

in运算符

判断对象是否有某个属性.

var data = [7,8,9]
"0" in data //true
3 in data //false

instanceof 运算符

判断左操作数的对象类型,所有对象都是object实例。

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

逻辑表达式

&&,& 第一个和第二个都为true返回true
||,| 只要有一个真就返回真,全假返回假

eval()

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。如果非法调用 eval(),则抛出 EvalError 异常。如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。虽然 eval() 的功能非常强大,但在实际使用中用到它的情况并不多。

typeof

返回参数类型

void

返回undefined

,运算符

var a,b,c
等同于
var a
var b
var c

猜你喜欢

转载自blog.csdn.net/vsqq00/article/details/80722035