JavaScript权威设计--JavaScript表达式与运算符(简要学习笔记五)-阿里云开发者社区

开发者社区> shy丶gril> 正文

JavaScript权威设计--JavaScript表达式与运算符(简要学习笔记五)

简介:
+关注继续查看

1.3种原始表达式

    1.直接量:    1.23    //数字直接量
                        “hello”    //字符串直接量
                        ...
    2.保留字构成的原始表达式:
        true    //返回布尔值:真
        false    //假
        null    //返回一个值:空
    3.变量:
        i    //返回变量i的值
        sum    //返回sum的值
 
2.对象初始化表达式
    
var p={
        x:2.3,
        y:-1.2
    }    //一个拥有两个属性成员的对象
 
    对象直接量也可以嵌套:
    
复制代码
var rea={
        upp:{
            x:2,
            y:2
        },
        low:{
            x:4,
            y:5
        }
    }
复制代码
 
3.左值
    左值是个古老的术语,它是指表达式只能出现在赋值运算符的左侧
 
4.值比较的问题
两个值在比较的时候会出现类型转换的问题。(这种转换只是针对相等运算符,也即是“==”)
在全等运算符===中不会出现任何类型转换。
转换的规则是:对象转换为原始值,然后在进行比较。对象通过toSrting()方法或valueOf()方法转换为原始值。
如:“1”==true    //结果是:true
首先布尔值true转换为数字1,然后执行比较
“1”==1
然后字符串“1”转换为数字1
1==1
因为两个数字的值相等,因此比较结果为true
 
5.in运算符
in运算符希望左侧是个字符串或者可以转换为字符串,希望右侧是个对象
例子:
   
 var point={
        x:1,
        y:2
    }
    "x" in point    //结果是true,对象point中有一个名为x的属性
  “toString”in point     //结果是true,对象继承了toString()方法
 
6.instanceof运算符
希望左侧是个对象,右侧是对象的类
例子:
    
var d=new Date();
    d instanceof Date;    //true
    d instanceof  Object    //true,所有的对象都是Object对象的实例
    d instanceof Number      //false,d不是Number对象
 
    为了计算表达式:o    instanceof    f。JavaScript首先计算f.prototype,然后在原型链中查找o,如果找到,那么o是f的一个实例,表达式返回true。如果f.prototype不在o的原型链中,那么o就不是f的实例,返回false。
转载:http://www.cnblogs.com/zqzjs/p/4799290.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
30、深入理解计算机系统笔记,并发编程(concurrent)(2)
1、共享变量 1)线程存储模型 线程由内核自动调度,每个线程都有它自己的线程上下文(thread context),包括一个惟一的整数线程ID(Thread ID,TID),栈,栈指针,程序计数器,通用目的寄存器和条件码。
692 0
理解C语言——从小菜到大神的晋级之路(4)——数据类型、运算符和表达式
本期视频点击这里 一、数据类型         对数据进行处理是程序的基本功能之一,因此对于任何编程语言,数据类型都是重要组成部分之一。C语言中定义了较为完善的数据类型体系用于处理不同类型的数据。
1153 0
26、深入理解计算机系统笔记,系统级I/O
1、一个unix文件就是一个m字节的序列(b0b1b2...bm-1)。所有的IO设备,如网络,磁盘,终端,都被模型化为文件,而所有的输入和输出都被当作对相应文件的读和写来执行。 2、所有的输入和输出都被当作统一的方式来处理: 1)打开文件。
690 0
改善C#程序157个建议——建议37学习笔记:使用Lambda表达式代替方法和匿名方法
改善C#程序157个建议——建议37学习笔记:使用Lambda表达式代替方法和匿名方法
22 0
31、深入理解计算机系统笔记,并发编程(concurrent)(3)
1、基于预线程化(prethreading)的并发服务器 常规的并发服务器中,我们为每一个客户端创建一个新线程,代价较大。一个基于预线程化的服务器通过使用“生产者-消费者模型”来试图降低这种开销。
932 0
19、深入理解计算机系统笔记,虚拟存储器,基本原理(1)
1、一个系统中的进程是与其他进程共享CPU和主存资源的。 2、虚拟存储器(Virtual Memory),是硬件异常,硬件地址翻译,主存,磁盘文件和内核软件的完善交互,它为每个进程提供一个大的,一致的,私有地址空间。
718 0
JavaScript面向对象的编程指南学习笔记
JavaScript面向对象的编程指南学习笔记 第一章 1,用自己的语言描述出,什么是对象、类、封装、聚合、继承、多态? 对象,拥有属性和方法的任何抽象概念。 类,可以实例化,有共同属性或方法(行为)的相似对象,的模板 封装,提供接口,隐藏接口的实现 聚合,将大功能(对象)拆分成小功能(小对象)去实现的逆过程。
8844 0
28、深入理解计算机系统笔记,Web服务器简介
1、Web服务器以两种不同的方式向客户端提供内容: 1)静态内容(static content):从服务器磁盘取得文件并把它返回客户端来服务。 2)动态内容(dynamic content):运行一个可执行文件,并把它的输出返回给客户端。
592 0
+关注
1878
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载