<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] ### new操作符具體干了什么呢 1、創建一個空對象,并且 this 變量引用該對象,同時還繼承了該函數的原型。 2、屬性和方法被加入到 this 引用的對象中。 3、新創建的對象由 this 所引用,并且最后隱式的返回 this 。 ``` var obj = {}; obj.__proto__ = Base.prototype; Base.call(obj); ``` ### js延遲加載的方式 1 defer(等dom加載之后加載)和async(異步加載),僅可以在支持的瀏覽器進行使用 2 動態創建DOM方式(創建script,插入到DOM中,加載完畢后callBack 3 按需異步載入js ### 哪些操作會造成內存泄漏 內存泄漏指任何對象在您不再擁有或需要它之后仍然存在。 垃圾回收器定期掃描對象,并計算引用了每個對象的其他對象的數量。如果一個對象的引用數量為 0(沒有其他對象引用過該對象),或對該對象的惟一引用是循環的,那么該對象的內存即可回收。 setTimeout 的第一個參數使用字符串而非函數的話,會引發內存泄漏。 閉包、控制臺日志、循環(在兩個對象彼此引用且彼此保留時,就會產生一個循環) ### WEB應用從服務器主動推送Data到客戶端有那些方式 * Javascript數據推送 * Commet:基于HTTP長連接的服務器推送技術 * 基于WebSocket的推送方案 * SSE(Server-Send Event):服務器推送數據新方式 ### javascript對象的幾種創建方式 1,工廠模式 2,構造函數模式 3,原型模式 4,混合構造函數和原型模式 5,動態原型模式 6,寄生構造函數模式 7,穩妥構造函數模式 ### js繼承的幾種方式 1,原型鏈繼承 2,借用構造函數繼承 3,組合繼承(原型+借用構造) 4,原型式繼承 5,寄生式繼承 6,寄生組合式繼承 ### 嚴格模式的限制 * 變量必須聲明后再使用 * 函數的參數不能有同名屬性,否則報錯 * 不能使用with語句 * 不能對只讀屬性賦值,否則報錯 * 不能使用前綴0表示八進制數,否則報錯 * 不能刪除不可刪除的屬性,否則報錯 * 不能刪除變量delete prop,會報錯,只能刪除屬性delete global[prop] * eval不會在它的外層作用域引入變量 * eval和arguments不能被重新賦值 * arguments不會自動反映函數參數的變化 * 不能使用arguments.callee * 不能使用arguments.caller * 禁止this指向全局對象 * 不能使用fn.caller和fn.arguments獲取函數調用的堆棧 * 增加了保留字(比如protected、static和interface) ### 設立”嚴格模式”的目的 * 消除Javascript語法的一些不合理、不嚴謹之處,減少一些怪異行為; * 消除代碼運行的一些不安全之處,保證代碼運行的安全; * 提高編譯器效率,增加運行速度; * 為未來新版本的Javascript做好鋪墊。 * 注:經過測試IE6,7,8,9均不支持嚴格模式。 ### 說說你對AMD和Commonjs的理解 CommonJS是服務器端模塊的規范,Node.js采用了這個規范。CommonJS規范加載模塊是同步的,也就是說,只有加載完成,才能執行后面的操作。AMD規范則是非同步加載模塊,允許指定回調函數。 AMD推薦的風格通過返回一個對象做為模塊對象,CommonJS的風格通過對module.exports或exports的屬性賦值來達到暴露模塊對象的目的 ### mvvm的理解 Angular它采用雙向綁定(data-binding):View的變動,自動反映在 ViewModel,反之亦然。核心就是viewModel的設定,可以實現響應的數據變化 組成部分Model、View、ViewModel View:UI界面 ViewModel:它是View的抽象,負責View與Model之間信息轉換,將View的Command傳送到Model; Model:數據訪問層 ### 請解釋什么是事件代理 事件代理(Event Delegation),又稱之為事件委托。是 JavaScript 中常用綁定事件的常用技巧。顧名思義,“事件代理”即是把原本需要綁定的事件委托給父元素,讓父元素擔當事件監聽的職務。事件代理的原理是DOM元素的事件冒泡。使用事件代理的好處是可以提高性能。 ### 在js針對css進行操作的時候,比如操作多個樣式,是多個樣式分別渲染還是計算之后渲染 js的執行引擎和渲染引擎是同步的,所以在js代碼執行操作的時候渲染的部分不會發生變化,在操作完所有的樣式之后才會在頁面上進行樣式的渲染。這也是為什么如果有js代碼的下載和執行會阻塞頁面的渲染的原因。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看