摘要:常用的屬性和方法創(chuàng)建空創(chuàng)建給對象添加屬性給對象添加多個(gè)屬性給對象添加給對象添加返回屬性配置對象返回所有屬性名數(shù)組返回對象原型對象阻止對象擴(kuò)展凍結(jié)對象密封對象檢測是否可擴(kuò)展布爾值檢測是否凍結(jié)布爾值檢測是否密封布爾值對象原型對象對象實(shí)例的屬性和
常用Object的屬性和方法 創(chuàng)建空Object
var o1 = {}; var o2 = Object.create(Object.prototype);創(chuàng)建Object
var o3 = { str: "string...", fun: function() { return this.str; } };給對象添加屬性
Object.defineProperty(o1, "newPropertyName", { value: "str", enumerable: true, writable: true });給對象添加多個(gè)屬性
Object.defineProperties(o1, { newPropertyName1: { value: "str1", writable: false }, newPropertyName2: { value: "str2", writable: true } });給對象添加getter
Object.defineProperty(o1, "logIt", { get: function () { return this.newPropertyName; } });給對象添加setter
Object.defineProperty(o1, "renew", { set: function (newValue) { this.newPropertyName = newValue; } });返回屬性配置(對象)
Object.getOwnPropertyDescriptor(o1, "newPropertyName");返回所有屬性名(數(shù)組)
Object.getOwnPropertyNames(o1);返回對象原型(對象)
Object.getPrototypeOf(o1);阻止對象擴(kuò)展
Object.preventExtensions(o1);凍結(jié)對象
Object.freeze(o1);密封對象
Object.seal(o1);檢測是否可擴(kuò)展(布爾值)
Object.isExtensible(o1);檢測是否凍結(jié)(布爾值)
Object.isFrozen(o1);檢測是否密封(布爾值)
Object.isSealed(o1);對象原型對象(對象實(shí)例)的屬性和方法 構(gòu)造函數(shù)
o1.constructor;檢測非繼承屬性是否存在(布爾值)
o1.hasOwnProperty("newPropertyName");檢測是否為實(shí)例原型(布爾值)
o1.isPrototypeOf(o1);檢測屬性是否可遍歷
o1.propertyIsEnumerable("newPropertyName");返回對象字符串表示
o1.toString();返回對象原始值
o1.valueOf();常用Array屬性和方法 創(chuàng)建數(shù)組
var arr = [1,2,3,4,5];構(gòu)造函數(shù)長度
Array.length;數(shù)組對象附加屬性
Array.prototype;檢測是否為Array
Array.isArray();數(shù)組實(shí)例的屬性和方法 構(gòu)造函數(shù)
arr.constructor;返回長度
arr.length;
Mutator方法
以下方法改變原數(shù)組
增加或刪除一個(gè)數(shù)組元素arr.pop(); arr.push("end"); arr.shift(); arr.unshift("start");添加或刪除任意一個(gè)元素
arr.splice(1, 3); //從第二個(gè)開始,刪除三個(gè)元素 arr.splice(1, 0, "newing","anotherNewing"); //從第二個(gè)開始,刪除零個(gè),添加兩個(gè)新元素顛倒數(shù)組元素
arr.reverse();排列數(shù)組元素
arr.sort();
Accessor方法
以下方法不改變原數(shù)組
組合成新數(shù)組(Array)var newArr = arr.concat("newArrayItem");抽取元素組成新數(shù)組(Array)
var newArr = arr.slice(1, 3); //抽取從第二個(gè)元素開始到第四個(gè)元素(不包括第四個(gè))結(jié)束成新數(shù)組連接數(shù)組并以某種符號(hào)分割組合成字符串(String)
var string = arr.join("-");連接數(shù)組并組合成字符串(String)
var string = arr.toString();查詢匹配元素返回索引值(number)
var index = arr.indexOf("end");從后往前查詢匹配元素返回索引值(number)
var index = arr.indexOf("end");
Accessor方法
以下方法不改變原數(shù)組
每個(gè)元素執(zhí)行一次回調(diào)函數(shù)arr.forEach(function (currentValue, index, array) { //body... });所有元素是否都通過函數(shù)測試(Boolean)
var result = arr.every(function (currentValue, index, array) { return typeof currentValue === "string"; });是否至少一個(gè)元素通過函數(shù)測試(Boolean)
var result = arr.some(function (currentValue, index, array) { return currentValue.length === 3; });返回包括函數(shù)測試為true的元素新數(shù)組(array)
var newArray = arr.filter(function (currentValue, index, array) { return currentValue.length === 3; });返回回調(diào)函數(shù)返回值組成的新數(shù)組(array)
var newArray = arr.map(function (currentValue, index, array) { return currentValue + "[string...]"; });reduce
var result = arr.reduce(function (previousValue, currentValue, index, array) { return previousValue + " " + currentValue; }, "beginDoingThis"); //第二參數(shù)為初始值reduceRight
var result = arr.reduceRight(function (previousValue, currentValue, index, array) { return previousValue + " " + currentValue; }, "beginDoingThis"); //第二參數(shù)為初始值常用Function的屬性和方法 獲取參數(shù)(like array)
function add(x, y) { return arguments; }獲取函數(shù)期望接受參數(shù)個(gè)數(shù)(number)
add.length;獲取函數(shù)名(string)
add.name;call方法
add.call(null, 1, 2, 3);apply方法
add.apply(null, [1, 2, 3]);bind方法
var anotherAdd = add.bind(null, 1, 2);返回函數(shù)源碼
add.toString();常用String屬性和方法 創(chuàng)建字符串
var s1 = "string..."; var s2 = String("hello there good morning...");添加附加屬性和方法
String.prototypeUnicode轉(zhuǎn)為string(string)
var str = String.fromCharCode(65, 66, 67);索引上string轉(zhuǎn)為Unicode見實(shí)例中的方法(number)
var uniq = String.prototype.charCodeAt.call(s1, 0);String實(shí)例的屬性和方法 構(gòu)造函數(shù)
s1.constructor;字符串長度(number)
s1.length;刪除兩端的空白字符
s1.trim();
string和unicode轉(zhuǎn)化和索引
索引取值(string)s1.charAt("0");string索引上值轉(zhuǎn)為unicode(unmber)
s1.charCodeAt(0);查找字符在字符串中的索引(number)
s1.indexOf("searchString", 0); //第二個(gè)參數(shù)為開始的位置從后往前查找字符在字符串中的索引(number)
s1.lastIndexOf("searchString", 0); //第二個(gè)參數(shù)為開始的位置
創(chuàng)建子字符串或數(shù)組的方法
提取字符串返回新字符串(string)var str = s1.substring(-3,s1.length); //接收正整數(shù)(負(fù)數(shù)轉(zhuǎn)化為0)提取字符串返回新字符串(string)
var str = s1.substr(3,2); //可接收負(fù)數(shù)(從右往左),第二個(gè)參數(shù)是期望字符串長度提取字符串返回新字符串(string)
var str = s1.slice(-3, 10); //可接收負(fù)數(shù)(length-數(shù)值)切割字符串返回?cái)?shù)組(array)
var arr = s2.split(" ", 2); //以空格為分隔符最多切割兩次
正則相關(guān)的方法
正則提取匹配項(xiàng)返回?cái)?shù)組(array or null)var arr = s1.match(/str/g);正則替換匹配項(xiàng)返回新字符串(string)
var newstr = s1.replace(/.{3}/, "!!!");正則返回首次匹配項(xiàng)的索引(number)
var index = s1.search(/str/g);常用RegExp屬性和方法 創(chuàng)建RegExp
var r1 = new RegExp(/hello/ig); var r2 = /w{10}/;為正則添加對象
RegExp.prototypelength(number===2)
RegExp.lengthRegExp實(shí)例的屬性和方法 構(gòu)造函數(shù)
r1.constructor;是否開啟global、ignoreCase和multiline(boolean)
r1.global r1.ignoreCase r1.multiline匹配的最后位置(number)
r1.lastIndex;設(shè)置最后匹配位置(與exec配合)
r1.lastIndex = 0;執(zhí)行匹配操作(array)
r1.exec("hello there, hello world");測試是否匹配(boolean)
r1.test("hello there");
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/87742.html
摘要:自帶的內(nèi)置對象都可以直接在中當(dāng)作定義好的類型。的內(nèi)置對象標(biāo)準(zhǔn)提供了常用的內(nèi)置對象等。在不需要額外引入就可以直接使用這些內(nèi)置對象用寫不是內(nèi)置對象的一部分,想要寫時(shí)提示,需要引入第三方聲明文件 JavaScript 自帶的內(nèi)置對象都可以直接在 TypeScript 中當(dāng)作定義好的類型。 TypeScript 核心庫的定義文件 TypeScript 核心庫的定義文件定義了所有瀏覽器環(huán)境需要用...
摘要:事件類型布爾值,表示事件是否通過以冒泡形式觸發(fā)。表示鍵盤事件的屬性布爾值,表示當(dāng)前按下的鍵是否表示一個(gè)字符。表示當(dāng)前按鍵的值僅對事件有效。,事件發(fā)生時(shí)相對于屏幕的坐標(biāo)。 事件對象 event 對象還包含很多有用的屬性。W3C 范中包含的大部分屬性都列在下面,更多信息參照完整的標(biāo)準(zhǔn)規(guī)范。 事件類型: bubbles :布爾值,表示事件是否通過DOM 以冒泡形式觸發(fā)。 事件發(fā)生時(shí)...
摘要:出現(xiàn)的目的同一樣也是要提到頁面中的腳本代碼。標(biāo)準(zhǔn)標(biāo)準(zhǔn)標(biāo)簽庫有個(gè)子庫,但隨著發(fā)展,目前常使用的是他的核心庫標(biāo)簽庫標(biāo)簽庫的前綴下載與導(dǎo)入下載從的網(wǎng)站下載的包。 一、JSP技術(shù)1.jsp腳本和注釋jsp腳本:1) ----- 內(nèi)部的java代碼翻譯到service方法的內(nèi)部2) ----- 會(huì)被翻譯成service方法內(nèi)部out.print()3) ---- 會(huì)被翻譯成servlet的成員的...
摘要:有一個(gè)和相關(guān)的更大的問題。最后,請負(fù)有責(zé)任感并且使用安全的擴(kuò)展。深入理解五部曲異步問題深入理解五部曲轉(zhuǎn)換問題深入理解五部曲可靠性問題深入理解五部曲擴(kuò)展性問題深入理解五部曲樂高問題最后,安利下我的個(gè)人博客,歡迎訪問 原文地址:http://blog.getify.com/promis... 現(xiàn)在,我希望你已經(jīng)看過深入理解Promise的前三篇文章了。并且假設(shè)你已經(jīng)完全理解Promises...
閱讀 994·2023-04-25 15:42
閱讀 3584·2021-11-02 14:38
閱讀 2886·2021-09-30 09:48
閱讀 1419·2021-09-23 11:22
閱讀 3379·2021-09-06 15:02
閱讀 3186·2021-09-04 16:41
閱讀 607·2021-09-02 15:41
閱讀 2012·2021-08-26 14:13