JavaScript教程筆記(12)-物件的繼承
大部分面向物件的程式語言,都是通過“類”(class)來實現物件的繼承。而JavaScript語言不一樣,是通過“原型物件”(prototype)來實現的,本文介紹JavaScript的原型鏈繼承。
ES6引入了class語法,基於class的繼承將在後面再介紹。
1 原型物件概述
1.1 建構函式的缺點
JavaScript通過建構函式生成新物件,建構函式內部可以定義物件的屬性和方法。
function Person(name, age) { this.name = name; this.age = age; } var man1 = new Person('John', 25); man1.name // "John" man1.age // 25
注:本文適用於ES5規範,原始內容來自 JavaScript 教程,有修改。
相關推薦
JavaScript教程筆記(12)-物件的繼承
大部分面向物件的程式語言,都是通過“類”(class)來實現物件的繼承。而JavaScript語言不一樣,是通過“原型物件”(prototype)來實現的,本文介紹JavaScript的原型鏈繼承。 ES6引入了class語法,基於class的繼承將在後面再介紹。
JavaScript教程筆記(6)-物件
定義 物件(object)是JavaScript語言的核心概念,也是最重要的資料型別。簡單說,物件就是一組“鍵值對”的集合,是一種無序的複合資料集合。 var obj = { foo: 'Hello', bar: 'World' }; 上面程式碼中,大括號就
JavaScript教程筆記(13)-Object物件的相關方法
JavaScript為Object提供了很多方法,用來處理物件程式設計的相關操作。 1 Object.getPrototypeOf() Object.getPrototypeOf 方法返回引數物件的原型,這是獲取原型物件的標準方法。 var Person = function
JavaScript教程筆記(14)-例項物件與 new 命令
1 物件是什麼 物件是單個實物的抽象。通常有一個模板表示共同特徵,然後物件根據這個模板生成。 典型的面向物件程式語言(比如C++和Java),都有“類”(class)這個概念。所謂“類”就是物件的模板,物件就是“類”的例項。但是JavaScript的物件體系,不是基於“類”的,而
JavaScript教程筆記(18)-JSON物件
1 什麼是JSON JSON(JavaScript Object Notation)是一種用於資料交換的文字格式,目的是取代繁瑣笨重的XML格式。JSON格式提出後,被迅速接受,併成為各大網站交換資料的標準格式。 JSON格式有兩個顯著優點: 書寫簡單,一目瞭然;
JavaScript教程筆記(1)-資料型別
JavaScript共有6種資料型別,分別是: 數值 (number):整數和小數。 字串 (string):文字。 布林值 (boolean):true 和 false。 undefined:表示“未定義”或“不存在”。 null:表示空值。
JavaScript教程筆記(2)-關於null、undefined、true、false
1 null和undefined 1.1 定義 null和undefined都表示“沒有”,實際上,將一個變數賦值為null或undefined,語法效果幾乎一樣。它們的區別是:null是一個表示“空”的物件,轉為數值時為0;undefined是一個表示“未定義”的值,轉為數值時
JavaScript教程筆記(3)-數值
整數和浮點數 JavaScript內部,所有數字都是以64位浮點數形式儲存,即使整數也是如此。所以,1與1.0是相等的,是同一個數。 1 === 1.0 // true 也就是說,JavaScript 底層根本沒有整數,所有數字都是小數(64位浮點數)。如果某些運算一定要整
JavaScript教程筆記(4)-和數值相關的全域性方法
parseInt() parseInt 的作用是將字串轉換為整數。 parseInt('123') //123 // 如果字串開頭有空格,將會自動去除空格。 parseInt(' 123') // 123 // 如果輸入引數不是字串,則先轉為字串再轉換。 parseInt(
JavaScript教程筆記(5)-字串
定義 字串就是放在單引號或雙引號之中的若干個字元。單引號字串的內部可以使用雙引號,雙引號字串的內部可以使用單引號。 'abc' "abc" 'name = "abc"' "It's ok" 上面這些都是合法的字串。 如果要在單引號字串內部使用單引號,就必須加上反斜槓,用
JavaScript教程筆記(8)-閉包函式和IIFE
1 閉包 閉包(closure)是JavaScript語言的一大特色,也是一個難點。理解閉包,首先要理解變數作用域。 作用域有兩種:全域性作用域和函式作用域。函式內部可以訪問全域性變數。 var n = 999; function f() { console.log(
JavaScript教程筆記(7)-函式
1 概述 函式是一段可以反覆呼叫的程式碼,它接受不同的輸入引數,返回不同的值。 1.1 函式的宣告 有兩種常用的宣告方法。 (1) function命令 function 命令宣告的程式碼區塊,就是一個函式。function 命令後面是函式名,函式名後面是一對圓括號,
JavaScript教程筆記(9)-陣列
1 定義 陣列(array)是按次序排列的一組值。每個值的的位置都有編號(從0開始),整個陣列用方括號表示。 var arr = ['a', 'b', 'c']; 陣列在定義時賦值,也可以先定義後賦值。任何型別的資料,都可以放入陣列。 var arr = [ '
JavaScript教程筆記(11)-this關鍵字
1 定義 this關鍵字是一個非常重要的語法點,不理解它的含義,大部分開發任務都很難完成。 無論什麼場合,this總是返回一個物件。簡單說,this就是屬性或方法“當前”所在的物件。 var person = { name: 'mark', say: func
JavaScript教程筆記(10)-運算子
1 概述 JavaScript 提供了10種算術運算子,用來完成基本的算術運算。 加法運算子:x + y 減法運算子: x - y 乘法運算子: x * y 除法運算子:x / y 指數運算子:x ** y 餘數運算子:x % y 自增
JavaScript教程筆記(15)-非同步操作
1 單執行緒模型 單執行緒模型是指,JavaScript只在一個執行緒上執行,同時只能執行一個任務。 但是,這不是說JavaScript引擎只有一個執行緒,事實上,JavaScript引擎有多個執行緒,單個指令碼只能在一個執行緒上執行(稱為主執行緒),其它執行緒都是在後臺配合。
JavaScript學習筆記-陣列物件
陣列物件(Array) 1. 如何生成一個新陣列: 1.1 建構函式 // 無引數時,返回一個空陣列 new Array() // [] // 單個正整數引數,表示返回的新陣列的長度 new Array(1) // [ empty ] // 則該引數是返回的新陣列的成員 new
JavaScript教程筆記(16)-定時器
JavaScript中定時執行程式碼的功能,叫做定時器(timer),主要由setTimeout和setInterval兩個函式完成。 1 setTimeout() setTimeout函式用來指定某個函式或某段程式碼,在多少毫秒後執行。返回值是一個整數,表示定時器的ID,以後用
JavaScript教程筆記(17)-正則表示式
JavaScript中正則表示式的功能由RegExp物件提供。 1 概述 正則表示式(Regular expression)是一種表達文字模式(即字串結構)的方法,有點像是字串的模板,常用來按照“指定模式”匹配文字。例如,可以用正則表示式定義好一個郵箱地址的模式,然後用它來檢查某
JavaScript學習筆記——繼承模式、物件列舉—day six
目錄 繼承發展 1、傳統形式(原型鏈) 2、借用建構函式(call/apply) 3、共享原型(son.prototype=father.prototype) 4、聖盃模式 鏈式呼叫實現 屬性表示方法 物件列舉 for in 1.hasOwnPrototype