日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ckeditor 框架分析 几个核心“人物”

發布時間:2023/12/9 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ckeditor 框架分析 几个核心“人物” 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ckeditor代碼中有幾個核心的內容:

1. (function(){})();

2. prototype new 配合,繼承屬性方法

3. a.event.implementOn() 公共屬性擴充

4. e.extend / a.tools.extend 自由擴充

5. a.on

6. j.add


1.(function(){})();

(function(){

//要運行的程序

})();

如此寫法,能起到作用域作用;定義在中間的變量作用域被固定在這里,不會造成前后定義沖突。

定義時用var開頭,作用域就在(function(){})();里了;如果沒有var開頭,作用域就超出,則像是全局變量了

只要加了var,即便與外界的變量重名也不會影響外界的變量。function F(){}定義,作用域也是在里面。F = function(){}則是全局了。


2.prototype new 配合,繼承屬性方法

這個是繼承prototype的一個方法。

比如:

A = function(){}; //此處必須定義成函數
A.prototype = {?//哈希
?x1 : function(){alert(1)},
?x2 : function(){alert(2)}?
};
//A.x1(); //此處不起作用
B = new A();
B.x1(); //起作用

再看一例:

A = function(){};
A.prototype = {
?x1 : function(){alert(1)},
?x2 : function(){alert(2)}?
};
A.x3 = function(){alert(3)};
A.x3(); //此處起作用
B = new A();
//B.x3(); //此處不起作用

prototype new 配合繼承下來的只是A.prototype 下的內容。

另外說明:

當A、B都是一個Object類型,B = A;此時修改B下的屬性方法,A也是會跟著修改的;

ckeditor里常有這樣復值 e = a.tools; 此時擴充e, a.tools也是跟著修改,他們是綁在一起的;

但是用prototype new來繼承的是全部獨立的

簡單的說:用new實例化后,prototype才能被繼承下來


?

轉載于:https://www.cnblogs.com/8kweb/archive/2011/11/04/2235264.html

總結

以上是生活随笔為你收集整理的ckeditor 框架分析 几个核心“人物”的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。