20 原型常用方法詳解

2021-08-15 12:27:39 字數 1680 閱讀 1292

1、原型.isprototypeof(例項),判斷原型物件是否是 引數例項 的 原型物件

function

obj(){}

var obj = new obj();

console.log(obj.prototype.isprototypeof(obj)); // true

2、根據例項物件 獲得原型物件 object.getprototypeof(例項)

function

obj(){}

var obj = new obj();

var pro = object.getprototypeof(obj);

3、判斷乙個物件的屬性 屬於 例項屬性 還是 屬於 原型屬性

物件.hasownproperty(屬性名稱)

function

obj(){}

obj.prototype.name = "protname";

var obj = new obj();

obj.name = "objname";

console.log(obj.name); // objname

console.log(obj.hasownproperty('name')); // true 是例項屬性

delete obj.name;

console.log(obj.name); // protname

console.log(obj.hasownproperty('name')); // fasle 不是例項屬性,可能是原型屬性

4、in 操作符 判斷屬性是否存在於 例項物件 和 原型物件中

function

obj(){};

obj.prototype.name = 'lc';

var obj = new obj();

console.log('name'

in obj); // true 因為在原型中有

5、獲取當前物件裡的所有 key(不包括不可列舉的) 返回乙個陣列

function

obj(){};

obj.prototype.name = 'lc';

var obj = new obj();

obj.age = 23;

console.log(object.keys(obj)); // array [ "age" ]

console.log(object.keys(obj.prototype)); // array [ "name" ]

6、獲取當前物件裡的所有 key(包括不可列舉的e.g constructor) 返回乙個陣列

function

obj(){};

obj.prototype.name = 'lc';

var obj = new obj();

obj.age = 23;

console.log(object.getownpropertynames(obj)); // array [ "age" ]

console.log(object.getownpropertynames(obj.prototype)); // array [ "constructor", "name"]

jQuery原型方法init的詳解

先來了解幾個jquery方法 li this jquery物件 aaa 的效果跟 的效果是一樣的。然後來看一下init方法,也就是新建jquery物件呼叫的方法 jquery.fn jquery.prototype 這時裡面的constructor指向會出問題,需要修正,person.prototy...

js中例項方法 靜態方法和原型方法詳解

之前一直以為建構函式可以直接訪問原型方法,是錯的,現在說一下 建構函式中this上新增的成員 在cat構造方法裡面,定義在this中的變數和方法,只有例項才能訪問到 如this.name,this.move,this.eat這些都是例項擁有,無法通過cat直接呼叫。function cat name...

Vim常用方法詳解

vim的三種模式 命令模式 插入模式 退出模式 在vim程式中 set 調整引數,如下 set nu 行號新增 set nonu 取消行號 set mouse a 新增滑鼠選擇 set cursorline 行線顯示 以上操作只在當前開啟的vim中生效,若想永久生效編輯檔案 etc vimrc 永久...