15個(gè)非常實(shí)用的JavaScript代碼片段
本文實(shí)例為大家分享了非常實(shí)用的js片段,供大家參考,具體內(nèi)容如下
1.如何區(qū)分IE及非IE瀏覽器:
if(!+[1,]){ //IE 11 不支持 alert("這是 IE 瀏覽器"); }else{ alert("這不是 IE 瀏覽器"); }
2.將日期直接轉(zhuǎn)換為數(shù)值:
+new Date();
3.非IE瀏覽器下將類(lèi)數(shù)組對(duì)象 “arguments”轉(zhuǎn)為數(shù)組:
Array.prototype.slice.call(arguments);
4.最簡(jiǎn)單的選擇運(yùn)算符||:
var a = 0 || 3; console.log(a); //結(jié)果3
如果=后面的第一個(gè)值計(jì)算結(jié)果為布爾值“真”,則 a 的值取第 1 個(gè),否則取第 2 個(gè)。
5.單鏈?zhǔn)竭\(yùn)算(如 a++ -1):
var a=10; console.log(a++ -1);
先執(zhí)行“a-1”,再執(zhí)行“a=a+1”。
6.有趣的void操作符:
<a href="javascript:void(0)">我是一個(gè)死鏈接</a>
void是一種操作符,用來(lái)計(jì)算一個(gè)表達(dá)式但不返回值。
7.跳轉(zhuǎn)至新頁(yè)面,并且保證瀏覽器不會(huì)再回退:
location.replace("http://www.dbjr.com.cn");
location 的 replace() 方法可以用一個(gè)新的文檔替換當(dāng)前文檔,并且該方法還會(huì)覆蓋 History 對(duì)象中的記錄。
8.幾秒鐘之后返回上一頁(yè):
<meta http-equiv="refresh" content="3;url=javascript:window.history.go(-1);">
9.在打開(kāi)的子窗口中刷新父窗口:
window.opener.location.reload();
10.驗(yàn)證是否為負(fù)數(shù)的正則表達(dá)式:
/^-\d+$/.test(str);
11.用JavaScript打印頁(yè)面:
window.print()
12.顯示/隱藏一個(gè)DOM元素:
el.style.display = ""; el.style.display = "none"; //el是待操作的DOM元素
DOM元素的顯示/隱藏主要是通過(guò)設(shè)置元素的樣式display屬性來(lái)實(shí)現(xiàn)。
13.實(shí)現(xiàn)alert()中的文本換行:
alert("p\np")
"\n"代表?yè)Q行符。
14.實(shí)現(xiàn)ECMAScript5中的Object.create()函數(shù):
function clone(proto){ function _clone(){} _clone.prototype = proto; _clone.prototype.constructor = _clone; return new_clone(); //等價(jià)于 Object.create(Person); var me = clone(Person);
用原型鏈形式繼承,構(gòu)造函數(shù)重新指向新創(chuàng)建的對(duì)象。
15.理解JavaScript中的閉包:
例如,以下代碼會(huì)輸出5次,結(jié)果都是5,那么如何輸出0、1、2、3、4?
for(var i = 0; i < 5; i++) { setTimeout(function() { console.log(i); }, 1000); }
利用閉包的原理實(shí)現(xiàn),代碼如下:
for(var i = 0; i < 5; i++) { (function(e) { setTimeout(function() { console.log(e); }, 1000); })(i); }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
TypeScript中interface和type的區(qū)別詳解
本文主要介紹了TypeScript中interface和type的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07js 獲取站點(diǎn)應(yīng)用名的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇js 獲取站點(diǎn)應(yīng)用名的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08javascript閉包(Closure)用法實(shí)例簡(jiǎn)析
這篇文章主要介紹了javascript閉包(Closure)用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了JavaScript閉包的概念、功能及使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11微信公眾平臺(tái)開(kāi)發(fā)教程(四) 實(shí)例入門(mén):機(jī)器人回復(fù)(附源碼)
本篇文章主要介紹了微信公眾平臺(tái)開(kāi)發(fā)機(jī)器人,可以實(shí)現(xiàn)簡(jiǎn)單對(duì)話和查詢天氣等,有需要的可以了解一下。2016-12-12JS無(wú)縫滾動(dòng)效果實(shí)現(xiàn)方法分析
這篇文章主要介紹了JS無(wú)縫滾動(dòng)效果實(shí)現(xiàn)方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了無(wú)縫滾動(dòng)的原理、實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-12-12基于Javascript實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)菜單效果
這篇文章主要為大家詳細(xì)介紹了基于Javascript實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)菜單效果的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03