如何提升網頁加載速度jquery
減小HTTP請求 網站建設中過多的圖片,CSS、script、flash,會增長內容加載的請求負擔,因此,建議您減小這類元素的使用。使用CSS合併圖片,避免出現直接插入原圖。ajax
JavaScript數據類型分那幾種? 編程
1. Number 數字類型跨域
2. String 字符串類型瀏覽器
3. Boolean 布爾類型緩存
4. Function 函數閉包
5. Object 對象app
6. Nulljquery插件
7. Undefined 沒有定義類型異步
function Animal() { this.feeling = 'happy'; } function Dog(name, variety) { this.name = name; this.variety = variety; } Dog.prototype = new Animal();//Animal實例對象就是Dog原型對象(Animal實例對象的prototype屬性指向Animal的原型對象) Dog.prototype.constructor = Dog;//給Dog原型對象的constructor屬性的指針從新指向構造函數Dog var dog = new Dog('二狗', '哈士奇'); print(dog.feeling); // happy
缺點:
a、當父包含引用類型屬性時,該屬性會被全部實例對象共享,示例代碼以下:
function Animal() { this.colors = ['red', 'green', 'blue']; } function Dog() { } // 繼承Animal Dog.prototype = new Animal(); Dog.prototype.constructor = Dog; var dog1 = new Dog(); dog1.colors.push('black'); print(dog1.colors); // red,green,blue,black var dog2 = new Dog(); print(dog2.colors); // red,green,blue,black
b、不能在不影響全部實例對象的狀況下,向父級構造函數傳遞參數
function Dog(name, variety) { Animal.apply(this, arguments); this.name = name; this.variety = variety; } var dog = new Dog('二狗', '哈士奇'); print(dog.feeling); // happy
使用apply或者call方法改變構造函數做用域,將父函數的構造函數綁定到子對象上。雖然解決了子對象向父對象傳遞參數的目的,可是藉助構造函數,方法都在構造函數中定義,函數的複用就無從談起
3.構造函數和原型鏈組合繼承
function Animal(name) { this.name = name; this.colors = ['red', 'green', 'blue']; } Animal.prototype.sayName = function() { print(this.name); }; function Dog(name, age) { // 繼承屬性 Animal.call(this, name); this.age = age; } // 繼承方法 Dog.prototype = new Animal(); Dog.prototype.constructor = Dog; Dog.prototype.sayAge = function() { print(this.age); } var dog1 = new Dog('二狗', 1); dog1.colors.push('black'); print(dog1.colors); // red,green,blue,black dog1.sayName(); // 二狗 dog1.sayAge(); // 1 var dog2 = new Dog('二牛', 2); print(dog2.colors); // red,green,blue dog2.sayName(); // 二牛 dog2.sayAge(); // 2