原创 閉包closure以及閉包在實際開發中的使用
一、閉包closure 嚴格來說,閉包需要滿足三個條件:【1】訪問所在作用域;【2】函數嵌套;【3】在所在作用域外被調用 有些人覺得只滿足條件1就可以,所以IIFE是閉包;有些人覺得滿足條件1和2纔可以,所以被嵌套的函數纔是閉包;有些人覺
原创 Object構造函數(三)
4、對象原型的操作 (1)Object.setPrototypeOf() ES6 IE11 設置對象的原型(即內部 [[Prototype]] 屬性) Object.setPrototypeOf() 方法設置一個指定的對象的原型 ( 即
原创 jquery給標籤添加屬性或獲取屬性值attr方法,移除屬性removeAttr方法
1. attr() 方法設置或返回被選元素的屬性值。 (1)返回被選元素的屬性值: $(selector).attr(attribute) (2)設置被選元素的屬性和值 $(selector).attr(attribute,value
原创 數據屬性和訪問器屬性
一、數據屬性 通常我們給對象設置一個屬性,configurable 、 enumerable和 writable都是true。在調用 Object.defineProperty() 方法時,如果不指定, configurable 、 en
原创 Object構造函數(一)
Object構造函數 JavaScript中的所有對象都來自 Object;所有對象從Object.prototype繼承方法和屬性,儘管它們可能被覆蓋。例如,其他構造函數的原型將覆蓋 constructor 屬性並提供自己的 toStr
原创 ES6函數傳參
一、默認參數 1、只有在未傳遞參數,或者參數爲 undefined 時,纔會使用默認參數,null 值被認爲是有效的值傳遞。 即使顯式的傳入undefined(雖然不是null或其他falsy值),但是形參的值還是默認值。 2、調用時解析
原创 ES6函數特性
一、默認參數 1、只有在未傳遞參數,或者參數爲 undefined 時,纔會使用默認參數,null 值被認爲是有效的值傳遞。 即使顯式的傳入undefined(雖然不是null或其他falsy值),但是形參的值還是默認值。 2、調用時解析
原创 內置構造函數的原型prototype
我們需要關注內置構造函數的prototype, 1、三個包裝類對象 Number.prototype Number {0, constructor: ƒ, toExponential: ƒ, toFixed: ƒ, toPrecisio
原创 js禁用的with
1、with 語句用於設置代碼在特定對象中的作用域。 例如: var obj = { name: "obj" } var name = "window";
原创 閉包closure
嚴格來說,閉包需要滿足三個條件:【1】訪問所在作用域;【2】函數嵌套;【3】在所在作用域外被調用 有些人覺得只滿足條件1就可以,所以IIFE是閉包;有些人覺得滿足條件1和2纔可以,所以被嵌套的函數纔是閉包;有些人覺得3個條件都滿足纔可以,
原创 Function類型(函數)
Function類型 1、函數實際上是對象,函數名是指向函數對象的指針,因此函數名與其他指向該函數的變量沒有什麼不同。 比如: function func (){ console.log("fun
原创 constructor判斷數據類型
我們可以通過constructor來判斷數據的類型,但是除了null、undefined,因爲他們不是由對象構建。 數字、布爾值、字符串是包裝類對象,所以有constructor 數字 var num = 1; num.construc
原创 es6特性
1、 在 ECMAScript 6 中,你也可以通過 Number.isSafeInteger() 方法還有 Number.MAX_SAFE_INTEGER 和 Number.MIN_SAFE_INTEGER 來檢查值是否在雙精度浮點數的
原创 MDN的arguments詳解
一、MDN的arguments詳解 arguments 是一個對應於傳遞給函數的參數的類數組對象。 語法 arguments 描述 arguments對象是所有(非箭頭)函數中都可用的局部變量。你可以使用arguments對象在函數中引
原创 jquery的$.type方法
$.type(): 使用許多技術來確定對象的確切返回值。 [[Class]] 的確定如下: jQuery.type( undefined ) === "undefined" jQuery.type() === "undefined" jQ