《JavaScript高级程序设计》Chapter 3 基本概念

Chapter 3 基本概念

数据类型

  1. typeof 操作符:
    • undefined 未定义
    • boolean 布尔值
    • string 字符串
    • number 数值
    • object 对象/null
    • function 函数
  2. undefined 是 null 的派生值
    • 声明变量
  3. 浮点数值(IEEE754)
    • 0.1 + 0.2 != 0.3
  4. 数值范围
    • Number.MIN_VALUE ~ Number.MAX_VALUE
    • <: -INFINITY >: INFINITY
    • NaN: Not a Number (NaN != NaN)
  5. 数值转换
    • Number()
    • parseInt()
    • parseFloat()
    • ES5不支持八进制字符串转字符,会忽略前导零,可以使用基数进行进制指定:
      • var number = parseInt("070", 8); //56
  6. Object
    • var o = new Object(); // Create an Object
    • constructor: Object()
    • hasOwnProperty("propertyName")
    • isPrototypeOf(object)
    • propertyIsEnumerable("propertyName")
    • toLocaleString()
    • toString()
    • valueOf()

操作符

  1. 增减操作符

    • var s1 = "2"; s1++; // 变成数值 3
    • var s2 = "z"; s2++; // 变成NaN
    • var b = false; b++; // 变成数值1
    • var f = 1.1; f--; // 变成数值0.10000000000000009
    • 运算符重载
      var o = {
      valueOf: function() {
                        return -1;
                     }
      };
    
  2. 位运算

    • & | ~
    • << >>
    • ^ 异或 (只有一个1才返回1)
  3. 相等

    • == != 相等和不相等
    • === !== 全等和不全等
    • "55" == 55
    • "55" !== 55 (全等会比较类型和数据)

语句

  1. for-in 语句

    • for (property in expression) statement;
    • 通过for-in输出对象的属性的顺序是不可预测的。
  2. label break continue 组合语句

  3. with 语句 (Not Recommanded)

    • 作用:将代码的作用域设置到一个特定的对象中。
    • with (expression) statement;
    • example:
    // without with:
    var qs = location.search.substring(1);
    var hostName = location.hostname;
    var url = location.href;
    
    // use with:
    with (location) {
        var qs = search.substring(1);
        var hostName = hostname;
        var url = href;
    }
    

函数

  1. 语法

    function functionName(arg1, arg2, ...) {
        statements
    }
    
  2. 严格模式中...

    • 函数名不能为eval或arguments
    • 参数名不能为eval或arguments
    • 不能出现两个命名参数同名的情况
  3. 在函数体内可以通过arguments对象访问参数数组,从而获取传递给函数的每一个参数。

    function sayHi() {
        alert("Hello" + arguments[0] + "," + arguments[1]);
    }
    

    可以利用这一特点让函数接收任意个参数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 有人说过,很多弯路到最后都成了直路,所有的坑到最后也都成了坦途;所谓的直路和坦途并不是摆在眼前的,都是不断的的...
    老衲法号一眉道人阅读 1,402评论 0 4
  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 1,714评论 0 6
  • 第1章 JavaScript 简介 JavaScript 具备与浏览器窗口及其内容等几乎所有方面交互的能力。 欧洲...
    力气强阅读 1,201评论 0 0
  • 第一章 Javascript简介 Javascript实现 核心(ECMAScript) 文档对象模型(DOM) ...
    江上风平浪静阅读 649评论 0 0
  • 看来年 夏至未至 我依然在渡口 等风也等你 到来生 秋风又起 我还是在桥头 等雨也等你 花开花又落 春去秋又回 我...
    久卄阅读 248评论 1 2