美文网首页
JavaScript笔记

JavaScript笔记

作者: Sonoface | 来源:发表于2019-08-27 15:34 被阅读0次

    JavaScript 输出

    JavaScript 没有任何打印或者输出的函数。
    JavaScript 显示数据
    JavaScript 可以通过不同的方式来输出数据:

    • 使用 window.alert() 弹出警告框。
    • 使用 document.write() 方法将内容写到 HTML 文档中。
    • 使用 innerHTML 写入到 HTML 元素。
    • 使用 console.log() 写入到浏览器的控制台。

    对象属性

    可以说 "JavaScript 对象是变量的容器"。
    但是,我们通常认为 "JavaScript 对象是键值对的容器"。
    键值对通常写法为 name : value (键与值以冒号分割)。
    键值对在 JavaScript 对象通常称为 对象属性

    对象方法

    对象的方法定义了一个函数,并作为对象的属性存储。
    对象方法通过添加 () 调用 (作为一个函数)。
    该实例访问了 person 对象的 fullName() 方法:
    如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。
    以下实例中 carName 在函数内,但是为全局变量。
    实例

    // 此处可调用 carName 变量
    function  myFunction()  {
      carName = "Volvo";
      // 此处可调用 carName 变量
    }
    

    字符串方法

    更多方法实例可以参见:JavaScript String 对象

    循环

    JavaScript 支持不同类型的循环:

    • for - 循环代码块一定的次数
    • for/in - 循环遍历对象的属性
    • while - 当指定的条件为 true 时循环指定的代码块
    • do/while - 同样当指定的条件为 true 时循环指定的代码块

    break

    break 语句(不带标签引用),只能用在循环或 switch 中。
    通过标签引用,break 语句可用于跳出任何 JavaScript 代码块:

    typeof

    你可以使用 typeof 操作符来检测变量的数据类型。
    实例

    typeof "John"                // 返回 string
    typeof 3.14                  // 返回 number
    typeof false                 // 返回 boolean
    typeof [1,2,3,4]             // 返回 object
    typeof {name:'John', age:34} // 返回 object
    

    你可以使用 typeof 操作符来查看 JavaScript 变量的数据类型。
    实例

    typeof "John"                 // 返回 string
    typeof 3.14                   // 返回 number
    typeof NaN                    // 返回 number
    typeof false                  // 返回 boolean
    typeof [1,2,3,4]              // 返回 object
    typeof {name:'John', age:34}  // 返回 object
    typeof new Date()             // 返回 object
    typeof function () {}         // 返回 function
    typeofmyCar                  // 返回 undefined (如果 myCar 没有声明)
    typeof null                   // 返回 object
    
    • NaN 的数据类型是 number
    • 数组(Array)的数据类型是 object
    • 日期(Date)的数据类型为 object
    • null 的数据类型是 object
    • 未定义变量的数据类型为 undefined

    如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他们的类型,因为都是 返回 object。

    constructor

    constructor 属性返回所有 JavaScript 变量的构造函数。

    实例

    "John".constructor                 // 返回函数 String()  { [native code] }
    (3.14).constructor                 // 返回函数 Number()  { [native code] }
    false.constructor                  // 返回函数 Boolean() { [native code] }
    [1,2,3,4].constructor              // 返回函数 Array()   { [native code] }
    {name:'John', age:34}.constructor  // 返回函数 Object()  { [native code] }
    newDate().constructor             // 返回函数 Date()    { [native code] }
    function() {}.constructor         // 返回函数 Function(){ [native code] }
    **search()** **方法使用正则表达式**
    

    实例
    使用正则表达式搜索 "Runoob" 字符串,且不区分大小写:

    var  str = "Visit Runoob!"; 
    var  n = str.search(/Runoob/i);
    //输出结果为:6
    

    正则表达式修饰符

    修饰符 可以在全局搜索中不区分大小写:


    正则表达式模式
    方括号用于查找某个范围内的字符:

    元字符是拥有特殊含义的字符:

    量词:

    test()

    test() 方法是一个正则表达式方法。
    test() 方法用于检测一个字符串是否匹配某个模式,
    如果字符串中含有匹配的文本,则返回 true,否则返回 false。
    以下实例用于搜索字符串中的字符 "e":
    实例

    var patt = /e/;
    patt.test("The best things in life are free!");
    //字符串中含有 “e",所以该实例输出为  :true
    

    exec()

    exec() 方法是一个正则表达式方法。
    exec() 方法用于检索字符串中的正则表达式的匹配。
    该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
    以下实例用于搜索字符串中的字母 "e":

    Example 1
    /e/.exec("The best things in life are free!");
    字符串中含有 “e”,所以该实例输出为 : e

    比较运算符常见错误

    在常规的比较中,数据类型是被忽略的,以下 if 条件语句返回 true:

    var x = 10;
    var y = "10";
    if (x == y)
    

    在严格的比较运算中,=== 为恒等计算符,同时检查表达式的值与类型,以下 if 条件语句返回 false:

    var x = 10;
    var y = "10";
    if (x === y)
    

    这种错误经常会在 switch 语句中出现,switch 语句会使用恒等计算符(===)进行比较:

    以下实例会执行 alert 弹窗:

    var x = 10;
    switch(x) {
        case 10: alert("Hello");
    }
    

    并非真正的常量

    const 的本质: const 定义的变量并非常量,并非不可变,它定义了一个常量引用一个值。
    使用 const 定义的对象或者数组,其实是可变的。下面的代码并不会报错:
    实例

    // 创建常量对象
    const  car = {type:"Fiat", model:"500", color:"white"};
    // 修改属性:
    car.color = "red";
    // 添加属性
    car.owner = "Johnson";
    

    JavaScript** 闭包

    还记得函数自我调用吗?该函数会做什么?
    实例

    var  add = (function  ()  {
      var  counter = 0;
      return  function  ()  {return  counter += 1;}
    })();
    add();
    add();
    add();
    // 计数器为 3
    

    相关文章

      网友评论

          本文标题:JavaScript笔记

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