js 对象和构造函数
生活随笔
收集整理的這篇文章主要介紹了
js 对象和构造函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、對象的創建方法
題外話:
java c++ 同樣能生產出對象,但是是死的
JavaScript 生產出的對象是活的,更像是人的生長過程,后天可以增加和刪除方法
用字面量創建
var obj = {};二、對象的增刪改
一旦經歷了 var 的操作,所得出的屬性,window ,這種的屬性叫做不可配置的屬性。不可配置的屬性 delete 不掉
var a = 'abc'; a.name = 'mary'; console.log(a.name); // undefined二、構造函數
Object 就像一個對象工廠一樣,執行一次生成一個對象,
并且每一次生成的對象都是一模一樣且獨一無二的
自定義的
Object.create(prototype)
用字面量創建對象和用構造函數創建對象的結果是一樣的
var obj = {}; var obj1 = new Object(); // 在控制臺打開里面的東西都是一樣的 ? 因為要經過包裝類三、構造函數的內部原理
構造函數三部曲
有了 new 關鍵字之后,就能讓普通函數擁有構造函數的功能
function Student(name, age, sex) {// 1. 在函數體的最前面隱式添加一個 this 對象// var this = {// name : '',// age : '',// sex : ''// }// 2. 執行 this.xxx = xxxthis.name = name;this.age = age;this.sex = sex;// 3. 隱式返回 this 對象// return this; }var student = new Student('張三', 18, 'male'); // 用一個變量接收一下模擬構造函數
function Person(name, height) {var that = {};that.name = name;that.height = height;return that; }// 只要加了 new 關鍵字,就會讓上面的函數的返回值強制變成一個對象 var person = Person('張三', 180);- 對象實例化:new 一個對象
- 對象實例化只有得到的每一個對象叫實例 – 對象 person 是 構造函數 Person 的一個實例
檢測某個實例是不是某個構造函數所構造出來的 ? 構造函數.prototype.isPrototypeOf(實例)
Person.prototype.isPrototypeOf(person); // true返回某個實例的原型 ? Object.getPrototypeOf(實例)
Object.getPrototypeOf(person); // 返回 person 的原型對象 --- {construcotr:...}總結
以上是生活随笔為你收集整理的js 对象和构造函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 织梦task_do.php,织梦2016
- 下一篇: 2011计算机2级,全国计算机等级考试四