美文网首页技术文程序员的日常
那些年成为node攻城狮的路(三)

那些年成为node攻城狮的路(三)

作者: 我就是L | 来源:发表于2016-08-25 09:04 被阅读68次
ECMAScript
  • 基本数据类型:Undefined、Null、String、Number、Boolean
    • tyepof -> 'number'、'string'、'boolean'、'object'、'undefined'、 function ,特别注意null也会返回object
    • Undefined类型只有一个值为undefined,var声明变量时未初始化或者调用对象不存在的属性时即为undefined
    • Null类型也只有一个值为null,从逻辑上看是表示一个对象的空指针
alert(null==undefined) //true
  • Boolean
Boolean(0) //fasle
Boolean('') //false
Boolean(null) //fasle
Boolean(undefined) //fasle
  • Number 最大值:Number.MAX_VALUE、最小值Number.MIN、超出范围Infinity
    NaN 是一个特殊的数值,不与任何值相等
alert(NaN ==NaN ) //false

isNaN()会先尝试转换为数值,在判断是否为数值

  • String类型,String()进行字符串转换时,先调用toString()返回,如果值是null返回'null',undefined返回'undefined'
var value1=null 
var value2=undefined
String(value1)//'null'
String(value2)//'undefined'
  • Object类型,每个object实例都存在constructor、hasOwnProperty('name')、toString、valueOf...其余没用过
var object={name:'lyf',age:22};
object.hasOwnProperty('name')//true
  • 操作符
    • ++自增 ;--自减
    • ~按位非 ,操作数负值减一
var num1 = 25;
var num2 =  -num -1;
console.log(~num1);//-26
console.log(num2);//-26
  • 按位与& ; 按位或| ; 按位异或(相异为1)

  • 左移 << ; 有符号的右移>> ; 无符号的右移>>>

console.log(2<< 3);//16
console.log(2>> 3);//0
console.log(16>> 3);//2
  • 逻辑与&& 、逻辑或||,都是短路操作。

  • +,如果操作数都是字符串则拼接起来;如果其中一个为字符串则将另一个转换为字符串拼接起来;null和undefined->'null'和'undefined'

  • 相等(先类型转换在比较)和全等(直接比较)

console.log(55=='55');//true
console.log(55==='55');//false
console.log(undefined==null)//true
console.log(undefined===null)//true
  • function参数在内部使用一个数组表示(arguments),即便定义的函数接收两个参数,使用时传了3个或1个都可以,甚至0个
(function say(){
   console.log(arguments);
})('value1','value2')
//->["value1", "value2"]

且值与参数名永远保持同步.

(function say(){
   arguments[1]='value3' 
   console.log(arguments);
})('value1','value2')
//-> ["value1", "value3"]

没有重载,后定义的函数会覆盖先定义的函数。

相关文章

网友评论

    本文标题:那些年成为node攻城狮的路(三)

    本文链接:https://www.haomeiwen.com/subject/ixposttx.html