參考:https://www.cnblogs.com/laoyu/p/5189750.htmlhtml
語法:jquery
jQuery.noConflict();// 默認false or
var jayquery = jQuery.noConflict( true );
做用:ajax
爲了不全局命名空間污染,jQuery提供了jQuery.noConflict()方法解決變量衝突。
適用場景:api
通常而言,有兩種狀況。
第一種狀況,你的業務代碼採用了最新版的jQuery庫,而你選用的第三方插件依賴的更早版本的jQuery庫;
第二種狀況,你正維護着一個系統,它已有的業務代碼因爲各類緣由,引用了較老版本的jQuery庫,你新開發的模塊採用的是其餘版本的jQuery庫。
code事例:函數
<!-- jQuery and $ are undefined --> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <!-- jQuery and $ now point to jQuery 1.10.2 --> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"> <!-- jQuery and $ now point to jQuery 1.7.0 --> <script>jQuery.noConflict();</script> <!-- jQuery still points to jQuery 1.7.0; $ now points to jQuery 1.10.2 --> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"> <!-- jQuery and $ now point to jQuery 1.6.4 --> <script>var jquery164 = jQuery.noConflict( true );</script> <!-- jQuery now points to jQuery 1.7.0; $ now points to jQuery 1.10.2; jquery164 points to jQuery 1.6.4 -->
02 "use strict" this
參考:http://ourjs.com/detail/52f572bf4534c0d806000024google
語法:編碼
// file.js "use strict" function doStuff(){ // use strict is enabled here! }
or
// file.js 僅想在某一個函數中使用 function a(){ "use strict"; // use strict is enabled in this context function nestedFunction(){ // and here too } }
做用:spa
一種在運行時自動執行更嚴格的JavaScript代碼解析和錯誤處理的方法。若是代碼錯誤被忽略或失敗,將會產生錯誤或拋出異常。
主要優勢:.net
1拋錯使調試更容易 2防止意外全局 3不容許重複的參數值
參考:http://www.jb51.net/article/72867.htm
code:
var reg = new RegExp("[`~!@#$%^&*()_\\-+=|{}:;\",\\[\\].<>/?\\·~!@#¥……&*()——|{}【】‘;:」「。,、?《》\\\\`~¥=+-*#%[]{}|/]");
特殊點:
1 過濾「 \ 」 用 \\\\
2 過濾「 - 」 用 \\- // 基本轉義用\\,如下第3條特殊
3 過濾「 " 」 用 \"
4 未過濾「 ' 」 和 空格
參考:http://www.jb51.net/article/72867.htm
code:
var reg = /[^\u4e00-\u9fa5a-zA-Z0-9]/g;
特殊點:
1 「 ^ 」 出如今[後^,表示非(0-9 數字,a-zA-Z 大小寫字母,\u4e00-\u9fa5 中文的編碼)
2 「 g 」出如今/g後,表示匹配每個字符內容
*參考連接:https://www.itcodemonkey.com/article/3440.html