原创 閉包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