• JavaScript 常用基础知识


    JavaScript 函数是被设计为执行特定任务的代码块。

    JavaScript 函数语法

    JavaScript 函数通过 function 关键词进行定义,其后是函数名和括号 ()。

    函数名可包含字母、数字、下划线和美元符号(规则与变量名相同)。

    函数返回

    当 JavaScript 到达 return 语句,函数将停止执行。

    如果函数被某条语句调用,JavaScript 将在调用语句之后“返回”执行代码。

    函数通常会计算出返回值。这个返回值会返回给调用者:

    实例

    计算两个数的乘积,并返回结果:

    var x = myFunction(7, 8);        // 调用函数,返回值被赋值给 x
    
    function myFunction(a, b) {
        return a * b;                // 函数返回 a 和 b 的乘积
    }


    JavaScript 对象

    真实生活中的对象、属性和方法

    在真实生活中,汽车是一个对象。

    汽车有诸如车重和颜色等属性,也有诸如启动和停止的方法

    对象也是变量。但是对象包含很多值。

    这段代码把多个值(porsche, 911, white)赋给名为 car 的变量:

    var car = {type:"porsche", model:"911", color:"white"};

    对象也可以有方法。

    方法是在对象上执行的动作。

    方法以函数定义被存储在属性中。

    方法是作为属性来存储的函数。

    var person = {
      firstName: "Bill",
      lastName : "Gates",
      id       : 678,
      fullName : function() {
        return this.firstName + " " + this.lastName;
      }
    };

    数组迭代方法对每个数组项进行操作。

    Array.forEach()

    forEach() 方法为每个数组元素调用一次函数(回调函数)。

    var txt = "";
    var numbers = [45, 4, 9, 16, 25];
    numbers.forEach(myFunction);
    
    function myFunction(value, index, array) {
      txt = txt + value + "<br>"; 
    }

    Boolean() 函数

    您可以使用 Boolean() 函数来确定表达式(或变量)是否为真:

    实例

    Boolean(10 > 9)        

    或者甚至更简单:

    实例

    (10 > 9)              // 也返回 true
    10 > 9   


    title: that.data.text == null ? "请您填写标题":"请您选择图片"
     
     
    ==  相等
    === 值相等并且类型相同
     

    if 语句

    • 使用 if 来规定要执行的代码块,如果指定条件为 true
    • 使用 else 来规定要执行的代码块,如果相同的条件为 false
    • 使用 else if 来规定要测试的新条件,如果第一个条件为 false
    • 使用 switch 来规定多个被执行的备选代码块

    JavaScript Switch 语句

    请使用 switch 语句来选择多个需被执行的代码块之一。

    语法

    switch(表达式) {
         case n:
            代码块
            break;
         case n:
            代码块
            break;
         default:
            默认代码块
    } 
    

    代码解释:

    • 计算一次 switch 表达式
    • 把表达式的值与每个 case 的值进行对比
    • 如果存在匹配,则执行关联代码

    JavaScript 错误 - Throw 和 Try to Catch

    try 语句使您能够测试代码块中的错误。

    catch 语句允许您处理错误。

    throw 语句允许您创建自定义错误。

    finally 使您能够执行代码,在 try 和 catch 之后,无论结果如何。

    try {
         供测试的代码块
    }
     catch(err) {
         处理错误的代码块
    } 
    finally {
         无论 try / catch 结果如何都执行的代码块
    }



    this 是什么?

    JavaScript this 关键词指的是它所属的对象。

    它拥有不同的值,具体取决于它的使用位置:

    • 在方法中,this 指的是所有者对象。
    • 单独的情况下,this 指的是全局对象。
    • 在函数中,this 指的是全局对象。
    • 在函数中,严格模式下,this 是 undefined。
    • 在事件中,this 指的是接收事件的元素。

    单独的 this

    在单独使用时,拥有者是全局对象,因此 this 指的是全局对象。

    在浏览器窗口中,全局对象是 [object Window]:

    实例

    var x = this;
     

    ES2015 引入了两个重要的 JavaScript 新关键词:let 和 const。

    这两个关键字在 JavaScript 中提供了块作用域(Block Scope)变量(和常量)。

    在 ES2015 之前,JavaScript 只有两种类型的作用域:全局作用域和函数作用域。

     

    JavaScript call() 方法

    call() 方法是预定义的 JavaScript 方法。

    它可以用来调用所有者对象作为参数的方法。

    通过 call(),您能够使用属于另一个对象的方法。

     

    var person = {
        fullName: function() {
            return this.firstName + " " + this.lastName;
        }
    }
    var person1 = {
        firstName:"Bill",
        lastName: "Gates",
    }
    var person2 = {
        firstName:"Steve",
        lastName: "Jobs",
    }
    person.fullName.call(person1);  // 将返回 "Bill Gates"

    JavaScript 函数 Apply

    call() 和 apply() 之间的区别

    不同之处是:

    call() 方法分别接受参数。

    apply() 方法接受数组形式的参数。

    如果要使用数组而不是参数列表,则 apply() 方法非常方便。

    var person = {
      fullName: function(city, country) {
        return this.firstName + " " + this.lastName + "," + city + "," + country;
      }
    }
    var person1 = {
      firstName:"John",
      lastName: "Doe"
    }
    person.fullName.apply(person1, ["Oslo", "Norway"]);

    --------------
    var person = {
      fullName: function(city, country) {
        return this.firstName + " " + this.lastName + "," + city + "," + country;
      }
    }
    var person1 = {
      firstName:"John",
      lastName: "Doe"
    }
    person.fullName.call(person1, "Oslo", "Norway");



    JSON: JavaScript Object Notation(JavaScript 对象标记法)。

    JSON 是一种存储和交换数据的语法。

    JSON 是通过 JavaScript 对象标记法书写的文本。

     

    当数据在浏览器与服务器之间进行交换时,这些数据只能是文本。

    JSON 属于文本,并且我们能够把任何 JavaScript 对象转换为 JSON,然后将 JSON 发送到服务器。

    我们也能把从服务器接收到的任何 JSON 转换为 JavaScript 对象。

    以这样的方式,我们能够把数据作为 JavaScript 对象来处理,无需复杂的解析和转译。

    JSON 语法是 JavaScript 语法的子集。

    JSON 语法规则

    JSON 语法衍生于 JavaScript 对象标记法语法:

    • 数据在名称/值对中
    • 数据由逗号分隔
    • 花括号容纳对象
    • 方括号容纳数组

    有效的数据类型

    在 JSON 中,值必须是以下数据类型之一:

    • 字符串
    • 数字
    • 对象(JSON 对象)
    • 数组
    • 布尔
    • Null

    JSON 的值不可以是以下数据类型之一:

    • 函数
    • 日期
    • undefined

    JSON.parse()

    JSON 的常规用途是同 web 服务器进行数据传输。

    在从 web 服务器接收数据时,数据永远是字符串。

    通过 JSON.parse() 解析数据,这些数据会成为 JavaScript 对象。

     

    JSON.stringify()

    JSON 的常规用途是同 web 服务器进行数据交换。

    在向 web 服务器发送数据时,数据必须是字符串。

    通过 JSON.stringify() 把 JavaScript 对象转换为字符串。

     

     

    访问对象值

    您可以通过使用点号(.)来访问对象值:

    myObj =  { "name":"Bill Gates", "age":62, "car":null };
    x = myObj.name;

    您也可以使用方括号([])来访问对象值:

    实例

    myObj =  { "name":"Bill Gates", "age":62, "car":null };
    x = myObj["name"];

    遍历对象

    您能够通过使用 for-in 遍历对象属性

     

    嵌套的 JSON 对象

    一个 JSON 对象中的值可以是另一个 JSON 对象。

     

     

    实例

    myObj =  {
       "name":"Bill Gates",
       "age":62,
       "cars": {
    	  "car1":"Porsche",
    	  "car2":"BMW",
    	  "car3":"Volvo"
       }
    }
    

    您能够通过使用点号和括号访问嵌套的 JSON 对象:

    实例

    x = myObj.cars.car2;
    
    //或者:
    
    x = myObj.cars["car2"];



    删除对象属性

    使用 delete 关键词来删除 JSON 对象的属性:

    实例

    delete myObj.cars.car1;

    JSON 对象中的数组

    数组可以是对象属性的值:

    实例

    {
    "name":"Bill Gates",
    "age":62,
    "cars":[ "Porsche", "BMW", "Volvo" ]
    }
    

    访问数组值

    您可以通过使用索引号来访问数组值:

    实例

    x = myObj.cars[0];
     

    JSON 对象中的嵌套数组

    数组中的值也可以另一个数组,或者甚至另一个 JSON 对象:

    实例

    myObj =  {
       "name":"Bill Gates",
       "age":62,
       "cars": [
    	  { "name":"Porsche",  "models":[ "911", "Taycan" ] },
    	  { "name":"BMW", "models":[ "M5", "M3", "X5" ] },
    	  { "name":"Volvo", "models":[ "XC60", "V60" ] }
       ]
    }

    myObj.cars[0].models
    myObj.cars[0].models[0]
     

    JavaScript splice() 方法

    定义和用法

    splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

    arrayObject.splice(index,howmany,item1,.....,itemX)

    index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
    howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
    item1, ..., itemX 可选。向数组添加的新项目。
     








    说明

    splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

    如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

     

    在本例中我们将删除从 index 2 ("Thomas") 开始的三个元素,并添加一个新元素 ("William") 来替代被删除的元素:

    var arr = new Array(6)
    arr[0] = "George"
    arr[1] = "John"
    arr[2] = "Thomas"
    arr[3] = "James"
    arr[4] = "Adrew"
    arr[5] = "Martin"

    arr.splice(2,3,"William")

    返回的结果为:
    George,John,William,Martin
     

    Array 对象方法

    方法描述
    concat() 连接两个或更多的数组,并返回结果。
    join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
    pop() 删除并返回数组的最后一个元素
    push() 向数组的末尾添加一个或更多元素,并返回新的长度。
    reverse() 颠倒数组中元素的顺序。
    shift() 删除并返回数组的第一个元素
    slice() 从某个已有的数组返回选定的元素
    sort() 对数组的元素进行排序
    splice() 删除元素,并向数组添加新元素。
    toSource() 返回该对象的源代码。
    toString() 把数组转换为字符串,并返回结果。
    toLocaleString() 把数组转换为本地数组,并返回结果。
    unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
    valueOf() 返回数组对象的原始值

     

  • 相关阅读:
    ubuntu 12.04安装redis2.6.16
    linux常用命令(自我积累)-two
    计算机历年考研复试上机基础题(一)
    PhantomJS爬虫 -----全国高校查询-------计算机科学与技术前50大学
    python3爬虫 -----爬取大学信息并通过matplotlib与numpy绘制结果-----from最好大学网
    51Nod 1265 四点共面
    算法训练 出现次数最多的整数
    51nod 1101 换零钱 (完全背包)
    Poj3624 Charm Bracelet (01背包)
    Poj1258 Agri-Net (最小生成树 Prim算法 模板题)
  • 原文地址:https://www.cnblogs.com/playforever/p/12814861.html
Copyright © 2020-2023  润新知