第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于jQuery插件擴展

關于jQuery插件擴展

米脂 2018-09-11 09:09:24
問題一:擴展jQuery對象時,這四種方式那個適用性更強一些問題二:下面的代碼段②是什么意思,做什么用,跟注冊全局方法$.extend有什么關聯問題三:現在在寫一個表格插件,包括數據渲染和若干方法,現在還沒有寫監(jiān)聽事件,感覺一團糟,有什么好的思路,或者簡單的開源實現(github項目)可以參考(盡量簡單),希望大家給個思路也好,謝謝?。?!
查看完整描述

1 回答

?
MM們

TA貢獻1886條經驗 獲得超2個贊

問題一:
我傾向于第四種寫法 用匿名函數把插件包起來
好處是:1.避免其它插件也用了 $ 做關鍵字;2.避免插件內部方法污染全局

方式一我不知道好壞
方式二 $ 可能會被其他同名變量污染
方式三和方式一類似 包了一層自執(zhí)行函數 但既然包了一層并把jQuery作為參數傳遞了 內部就可以直接寫 $ 了
$.fn.methodName = function() {} 和 $.fn.extend({ methodName: function() {} }) 的好壞我不是很清楚

問題二:
$.extend 方法是合并對象 用于將傳入的參數覆蓋默認配置

var a = { name: 'a' };

var b = { name: 'b', age: 2 };

var c = $.extend(a, b); // 把 b 對象合并到 a 對象

console.log(a); // { name: 'b', age: 2 };

console.log(b); // { name: 'b', age: 2 };

console.log(c); // 最終配置 { name: 'b', age: 2 };

// 不推薦這么寫 這么寫會把 a 也修改了 有時候還需要使用到原始配置


// 推薦這種寫法

var a = { name: 'a' };

var b = { name: 'b', age: 2 };

var c = $.extend({}, a, b); // 把 b 和 a 對象合并到 {} 對象 保留 a 對象

console.log(a); // { name: 'a' };

console.log(b); // { name: 'b', age: 2 };

console.log(c); // 最終配置 { name: 'b', age: 2 };


查看完整回答
反對 回復 2018-10-06
  • 1 回答
  • 0 關注
  • 664 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號