`

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

  • 大小: 7.9 KB
分享到:
评论

相关推荐

    AngularJS基础学习笔记之表达式

     AngularJS表达式与JavaScript表达式有许多相似之处,它们都包含文字、运算符和变量。例如{{ 5 + 5 }}和{{ firstName + ” ” + lastName }} <!DOCTYPE html> <html> <script src="http://ajax.goo

    JavaScript学习笔记整理_关于表达式和语句

    表达式和语句 eval( ) 只有一个参数 参数非字符串时,直接返回这个参数; 参数为字符串时,它把字符串当成JavaScript代码进行编译,编译失败则抛出语法错误,编译成功则执行代码,并返回最后一条语句的值,...

    Javascript学习笔记 delete运算符

    一、语法 delete后面的表达式必须给出一个属性的引用,比如 var o = {a:1}; delete o.a; //此处o.a是对象o的属性a的引用 只有在with语句里才能使用单独的属性名 代码如下: with(o){ delete a; } 二、delete的返回值 ...

    重温JavaScript中的正则表达式 js学习笔记

    一、创建正则表达式 创建正则表达式和创建字符串类似 , 创建正则表达式提供了两种方法 , 一种是采用 new运算符,另一个是采用字面量方式。 代码如下: var dog = new RegExp(‘dog’); // 第一个参数字符串 var dog...

    JavaScript for循环 if判断语句(学习笔记)

    今天学习了JavaScript里面的for循环以及if的判断语句 for(初始值;循环条件;操作){  满足条件要执行的代码语句 } 初始值:循环前的初始化变量,通常为赋值表达式:建议用var赋值,可以加快运行速度。 循环条件:...

    js-:JavaScript基础学习笔记总结

    js- JavaScript基础学习笔记总结名称:铭心时间:2021/3/11该内容所有代码可以在控制台进行输出查看结果 :winking_face:持续更新三目运算符 var temperture = 10 ; console . log ( temperture > 15 ? '出门' : '...

    Node.js-Learning:Node学习笔记。A learning notes about Node.js

    Node.js 学习笔记 不要忘记star一下 加油! 目录 Node.js离不开JS,所以要好好巩固JS,这一块多是巩固ES6的相关特性 Class Symbol 作用域篇 扩展运算符 Part2 Node.js模块 学习Node.js的原生模块,从根本理解Node.js...

    整理后java开发全套达内学习笔记(含练习)

    instanceof (关键字) 运算符,用于引用变量,以检查这个对象是否是某种类型。返回 boolean 值。 interface (关键字) 接口 ['intәfeis] invoke vt.调用 [in'vәuk]' ( invocation [,invәu'keiʃәn]) Iterator ...

    es6-notes:ES6+ 学习笔记 https

    ES下一个学习笔记 数字 大批 目的 功能 班级 象征 放 地图 正则表达式 代理人 反映 承诺 发电机 迭代器 模块 ES2016(ES7) Array.prototype.includes() 求幂运算符 ES2017(ES8) 细绳 目的 异步等待 尾随...

    Java学习笔记-个人整理的

    {3.4}正则表达式}{71}{section.3.4} {3.5}StringBuffer}{75}{section.3.5} {3.6}StringBuilder}{76}{section.3.6} {3.7}StringBuilder与StringBuffer的缺点}{76}{section.3.7} {3.8}内部类}{77}{section.3.8} ...

    笔记+思维导图.rar

    js前端学习笔记+思维导图,包括:DOM操作基础、DOM对象、JS数据类型、windows对象、变量、函数基础、基本dom操作、浏览器对象、流程语句、数组、运算符、正则表达式、字符串函数等基础、就业学学习的导图与笔记。

Global site tag (gtag.js) - Google Analytics