美文网首页
JavaScript高程读书笔记(2)

JavaScript高程读书笔记(2)

作者: 小懒豆 | 来源:发表于2018-03-31 18:47 被阅读6次

五、操作符

算数操作符、位操作符、关系操作符、 相等操作符

  1. 一元操作符
    ++--:注意a++
    +,-
  2. 位操作符
    按位非(NOT)(~)、按位与(AND)(&)、按位或(OR)(|)、按位异或(XOR)(^)、左移(<<)、有符号右移(>>)、无符号右移(>>>)
  3. 布尔操作符
    非,与,或
  4. 乘性操作符
    乘、除、取模
  5. 乘性操作符
    加法、减法、
  6. 关系操作符
    小于、大于、小于等于、大于等于
    1)如果是数值,则数值比较;
    2)如果是字符串,则比较对应编码;
    3)如果一个是数值,则转换为数值;
    4)如果为一个对象,则调用valueOf()或者toString(),得到结果再根据前面规则进行比较
    5)如果一个是布尔值,先转换为数值比较
    6)与NaN比较都返回false
  7. 相等操作符
    相等和不相等先转换再比较,全等和不全等仅比较
    1)null和undefined相等
    2)都是对象情况下比较是否为同一对象
  8. 条件操作符
    ?:
  9. 赋值操作符
    右边的值赋给左侧的变量
  10. 逗号操作符
    用于赋值总是返回表达式中最后一项

六、语句

  • switch语句使用的是全等操作符

七、typeof和instanceof

typeof来判断基本数据类型

  1. 第一题
    表达式是从右往左的,x由于变量提升,类型不是null,而是undefined,所以x=y=”undefined”。
 var y = 1, x = y = typeof x;
 x;//"undefined"
  1. 第二题
(function f(f){
    return typeof f();//"number"
  })(function(){ return 1; });
  1. 第二题
    这一题考察的是this的指向。this永远指向函数执行时的上下文,而不是定义时的(ES6的箭头函数不算)。当arguments执行时,this已经指向了window对象。所以是”undefined”。
var foo = {
    bar: function() { return this.baz; },
    baz: 1
  };
  (function(){
    return typeof arguments[0]();//"undefined"
  })(foo.bar);
  1. 第四题
 var foo = {
    bar: function(){ return this.baz; },
    baz: 1
  }
  typeof (f = foo.bar)();//undefined
  1. 第五题
var f = (function f(){ return "1"; }, function g(){ return 2; })();
typeof f;//"number"
  1. 第六题
var x = 1;
  if (function f(){}) {
    x += typeof f;
  }
  x;//"1undefined"
  1. 第七题
 (function(foo){
    return typeof foo.bar;//undefined
  })({ foo: { bar: 1 } });

instanceof运算符可以用来判断某个构造函数的prototype属性是否存在于另外一个要检测对象的原型链上

相关文章

  • JavaScript高程读书笔记(2)

    五、操作符 算数操作符、位操作符、关系操作符、 相等操作符 一元操作符++和--:注意a+++,- 位操作符按位非...

  • JavaScript高程读书笔记(目录)

    JavaScript高程读书笔记(1) 一、script标签 二、noscript标签 三、严格模式 四、数据类型...

  • JavaScript高程复习(2) -- DOM

    10.1 节点层次 文档节点是每个文档的根节点。文档节点只有一个子节点,即 元素,我们称之为文档元素,文档元素是文...

  • JavaScript高程读书笔记(1)

    一、script标签 async属性(只是适用于外部脚本文件)立即下载脚本,但不妨碍页面其他操作 defer属性(...

  • JavaScript高程读书笔记(3)

    八、垃圾回收 标记清除 当变量进入环境时,例如,在函数中声明一个变量,就将这个变量标记为“进入环境”。从逻辑上讲,...

  • JS高程(一)

    复习 JavaScript 高程, 基本上 是 摘抄原文。 在 HTML 中 使用 JavaScript JS 包...

  • 06-2 | 读JavaScript 高程

    接上篇 经过一番的折腾,我们已经能够像女娲一样造人了,现在要做的就是如何让我们造出来的人能够进化,站在巨人的肩膀上...

  • JavaScript高程读书笔记-面向对象设计

    一、理解对象 1、什么是对象面向对象(Object-Oriented,OO),ECMA中对象定义是:无序属性的集合...

  • 05 | 读JavaScript 高程

    这是第五章引用类型,这一章涉及引用类型的种类,各个类型身上的方法等相关内容。 主要知识点: 1.引用类型和类和对象...

  • 01 | 读 JavaScript 高程

    缘起 总感觉自己前端的知识体系不是很系统,打算读一下这本很多人推荐的书,从目录来看第三版有些东西在2020年可能已...

网友评论

      本文标题:JavaScript高程读书笔记(2)

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