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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript开发中几个常用知识点总结

發布時間:2025/3/15 javascript 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript开发中几个常用知识点总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在做項目的時候自己寫了一些JavaScipt代碼,于是自己又進行簡單的查閱資料整理了一下,發現了如下幾個比較有用的知識點:

  1、三種聲明函數的方式

  2、jQuery $(document).ready() 與window.onload的區別

  3、location.href

  4、獲取url中的參數

  5、判斷是否存在函數的方法

  6、設置Iframe高度

  7、解決文本框設置只讀后按退鍵后退頁面

1、三種聲明函數的方式

1、聲明式的函數

function functionName(arg1, arg2) {alert(arg1+arg2);}

2、匿名函數

var functionName1 = new Function("arg1", "arg2", "alert(arg1 + arg2)");

3、直接量函數

functionName2 = function (arg1, arg2) { alert(arg1 + arg2); };

三種函數調用方式

functionName("1", "22"); functionName1("2", "11"); functionName2("Hello", "World");

繼續看,還可以這樣寫,第一次體驗很不錯

functionName1.love = "Hello World!"; alert(functionName1.love); functionName1.Test = function () { alert("Test"); } functionName1.Test();

2、jQuery $(document).ready() 與window.onload的區別

?1、執行時間

  window.onload必須等到頁面內包括圖片的所有元素加載完畢后才能執行。? ? ? ? $(document).ready()是DOM結構繪制完畢后就執行,不必等到加載完畢。?

2、編寫個數不同

  window.onload不能同時編寫多個,如果有多個window.onload方法,只會執行一個,執行后面的一個。 ? ? ? $(document).ready()可以同時編寫多個,并且都可以得到執行。

3、簡化寫法?

  window.onload沒有簡化寫法 。 ? ? ? $(document).ready(function(){})可以簡寫成$(function(){})。

注意:window.onload和body.onload之間的關系和區別,最好自己親自去實踐一下。

3、location.href

1、top.location.href=”url”????????? 在頂層頁面打開url(跳出框架)

2、parent.location.href=”url”   ?在父窗口打開Url地址

3、self.location.href=”url” 和?this.location.href=”url” 和 window.location.href=“url” 和location.href?  ??? 都是在本頁面打開url地址

由此我解決了一個問題:就是使用了Iframe框架,同時也控制用戶超時重新登錄的限制,所以有時候登錄頁面會出現在頁面中的某部分。

處理方式就比較簡單就是在登錄頁面通過JavaScript進行一次判斷即可

<script type="text/javascript">if (window != top)top.location.href = location.href; </script>

4、獲取url中的參數

?1、獲取指定url指定參數的值

//獲取指定url的指定參數值 //name為參數名 //url為指定的url地址 function GetQueryStringRegExp(name,url) {var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i");if (reg.test(url)) return decodeURIComponent(RegExp.$2.replace(/\+/g, " ")); return ""; }

2、獲取當前頁面url指定參數的值

//獲取url指定參數的值 function GetQueryStringRegExp(name) {var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i");if (reg.test(location.href)) return decodeURIComponent(RegExp.$2.replace(/\+/g, " ")); return ""; }

5、判斷是否存在函數的方法

?先看代碼

window.οnlοad=function(){ try{if(test&&typeof(test)=="function"){ test(); }else{ alert("不存在的函數"); } }catch(exception){alert(exception); } } function test(){ alert("函數執行……"); }

第一種情況就是函數的確存在,那么就會執行該函數。

第二種情況就是函數不存在,但是在此域中存在該名稱的對象或者變量,則為提示不存在的函數。

第三種情況就是函數不存在,對象或者變量也不存在,就是該名稱是未定義的,則會提示函數未定義。

6、設置Iframe高度

?有時候在網頁中可能需要嵌入Iframe,而對Iframe的控制又不能固定,那么就可以自動根據Iframe中內容進行自動設置高度。在HTML的Iframe標簽中加入一個onload事件,就是在Iframe頁面加載完畢時進行計算設置高度。

function SetIFrameHeight(iFrameId) {if (iFrameId == "") {return;}var Sys = {};var ua = navigator.userAgent.toLowerCase();var s;(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : 0;var pTar = null;if (document.getElementById) {pTar = document.getElementById(iFrameId);} else {eval('pTar=' + iFrameId + ';');}pTar.style.display = "block";if (Sys.ie) {if (Sys.ie == '9.0') {pTar.height = pTar.contentWindow.document.body.offsetHeight + 15 + "px";pTar.width = pTar.contentWindow.document.body.scrollWidth + "px";} else if (Sys.ie == '8.0') {pTar.height = pTar.Document.body.offsetHeight + 25 + "px";pTar.width = pTar.Document.body.scrollWidth + "px";} else {pTar.height = pTar.Document.body.scrollHeight + 25 + "px";pTar.width = pTar.Document.body.scrollWidth + "px";}}}

參數就是該Iframe的id傳入,暫時通過的是IE8測試是沒問題的。

7、解決文本框設置只讀后按退鍵后退頁面

?解決方法就是定義一個全局的document.documentElement.onkeydown事件,來檢測頁面每次按鍵按下時的操作

document.documentElement.onkeydown = function (evt) {var b = !!evt, oEvent = evt || window.event;if (oEvent.keyCode == 8) {var node = b ? oEvent.target : oEvent.srcElement;var reg = /^(input|textarea)$/i, regType = /^(text|textarea)$/i;if (!reg.test(node.nodeName) || !regType.test(node.type) || node.readOnly || node.disabled) {if (b) {oEvent.stopPropagation();}else {oEvent.cancelBubble = true;oEvent.keyCode = 0;oEvent.returnValue = false;}}}}

檢測退格鍵時,所對應的操作進行判斷,來處理禁用回退頁面刷新的問題。

轉載于:https://www.cnblogs.com/BlogofOldK/p/5289713.html

總結

以上是生活随笔為你收集整理的JavaScript开发中几个常用知识点总结的全部內容,希望文章能夠幫你解決所遇到的問題。

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