JS一些方法總結

2021-09-12 22:18:22 字數 2574 閱讀 9404

目錄

1、array-like資料轉換為陣列,常見的array-like資料有nodelist,agruments,具有索引,長度屬性的物件;

2、型別判斷

for迴圈

2. array.prototype.slice.call()

3.array.from()

4. set,針對可迭代物件

typeof,主要用來檢測基本型別,如

var type = ,

cons: new array()

} var res =

object.keys(type).foreach(key => )

console.log(res) // ["string", "number", "boolean", "string", "object", "symbol", "undefined", "object", "object", "object", "object"]

2. instanceof ,用於測試建構函式的prototype屬性是否出現在物件的原型鏈中的任何位置

var ******str = "this is a ****** string"; 

var mystring = new string();

var newstr = new string("string created with constructor");

var mydate = new date();

var myobj = {};

var mynonobj = object.create(null);

******str instanceof string; // 返回 false, 檢查原型鏈會找到 undefined

mystring instanceof string; // 返回 true

newstr instanceof string; // 返回 true

mystring instanceof object; // 返回 true

myobj instanceof object; // 返回 true, 儘管原型沒有定義

({}) instanceof object; // 返回 true, 同上

mynonobj instanceof object; // 返回 false, 一種建立物件的方法,這種方法建立的物件不是object的乙個例項

mystring instanceof date; //返回 false

mydate instanceof date; // 返回 true

mydate instanceof object; // 返回 true

mydate instanceof string; // 返回 false

3. object.prototype.tostring.call() ,除了以下的值,object.prototype.tostring.call()還可以檢測arguments,nodelist等

1.bind原始碼實現

if (!function.prototype.bind) 

var aargs = array.prototype.slice.call(arguments, 1),

ftobind = this,

fnop = function() {},

fbound = function() ;

// 維護原型關係

if (this.prototype)

// 下行的**使fbound.prototype是fnop的例項,因此

// 返回的fbound若作為new的建構函式,new生成的新物件作為this傳入fbound,新物件的__proto__就是fnop的例項

fbound.prototype = new fnop();

return fbound;

};}

2. call原始碼實現

if (!function.prototype.call) 

/*var result = eval('content.fn('+args+')');

delete content.fn;*/

var result = context.fn(...args)

delete context.fn

return result;

}}

var content = context || window;

content.fn = this;

var args = arguments[1]

if (!args) else

delete context.fn

return result;}}

IMD中一些JS方法總結

1,日期格式化 如格式成2013 12 27 15 30,new date format yyyy mm dd hh mm ss 這種格式在safari瀏覽器上會出問題,可用.format yyyy mm dd hh mm ss 代替 1 date.prototype.format function...

個人總結的一些實用js方法

最近專案告一段落,在這期間寫了很多js,但是回頭想想,發現其中相當多的一部分是在重複編寫,低效並且無意義,於是花了半天的時間,將一部分我個人覺得用的比較多的js方法總結了一下,部分方法基於jquery 1.3.2,今後將不斷更新,主要的方法列表如下 方法名 功能說明 openmodelwindow ...

一些常用js方法

使用命名空間 var global global.namespace function str else 陣列相關 判斷元素是否存在 第一種寫法 為系統陣列物件新增原型擴充套件方法 array.prototype.inarray function value return false 第二種 自定義...