zoukankan      html  css  js  c++  java
  • JavaScript权威设计--JavaScript类型,值,变量(简要学习笔记三)

    1.负号是一元求反运算
    如果直接给数字直接量前面添加负号可以得到他们的负值
     
     
    2.JavaScript中的运算超出了最大能表示的值不会报错,会显示Infinity。
    超出最小也不报错,会显示-Infinity。
    运算出的结果如果是个非数字的值得时候,用NaN表示。
     
    3.字符串直接量拆分成数行
    ECMAScript3中,字符串直接量必须下载一行中,而在ECMScript中,字符串直接量可以拆分成数行,每行必须以反斜线()介绍。
    如:“twolines”
          "one     //三行写完一个字符串
           two
           three"
     
    4.JavaScript中夹杂html代码的时候建议使用各自独立的引号风格 。
     
    5.不只有数组可以通过索引去访问,字符串也可以
    如:
    var a="hello";
    a[0]    //"h"    (返回 string)
    a.length   //5    (返回 number)
     
    6.RegExp的直接量表示法:/^html/   //匹配以html开始的字符串
     
    7.null与undefined
    null是js的关键字。描述“空值”
    undefined表示更深层的“空值”,表示变量没有初始化
     
    8.var global=this;//定义一个引用全局对象的全局变量值
    客户端JavaScript中,在其表示的浏览器窗口中的所有JavaScript中,window对象充当了全局对象。这个全局window对象有一个属性引用其自身,它可以代替this来引用全局对象。
     
    9.对象的问题
    var s="test";
    s.b=4;
    var a=s.b;    //a的值会是什么?
    答案是:a的值是undefined
     
    好,我们来说一下这个过程:
    var s="test";    //创建一个字符串
    s.b=4;    //给s设置一个属性为4(这时候会创建一个临时字符串对象,并给b属性赋值为4,赋值完成后立即销毁这个对象s)
    var a=s.b;    //这时s这个对象已经不存在
     
    你会问,为什么?
     
    s是字符串既然不是对象,为什么他能点(.)的出来属性呢?因为js中只要引用了字符串s的属性,js就会将字符串值通过调用new String(s)的方式创建一个对象(或说转换成对象)。要清楚这个创建的一个对象是临时的,而且也不是s这个原本的字符串。但是我们看上去的时候却是好像是s点(.)出来的。s.b这种修改属性只是发生在临时对象身上,而这个临时的对象并未继续保留下来(也就是修改之后立即销毁)。
    var s="test"; 
    var S=new String(s);       //这是显式的创建s的对象
    console.log(s==S)    //true  等于运算符任务两者相等 
    console.log(s===S)    //false    全等运算符认为不等 不等的是类型
  • 相关阅读:
    ionic之样式bar-assertive
    (?m) 可以让.去匹配换行
    perl 正则前导字符
    ionic之样式bar-energized
    ionic之样式bar-balanced
    ionic之样式bar-calm
    perl /m
    sort_buffer_size:
    Filter plugins ? mutate:
    Codec plugins ? multiline
  • 原文地址:https://www.cnblogs.com/zqzjs/p/4793128.html
Copyright © 2011-2022 走看看