Javascript中級語法快速入手
1. 談?wù)凧avascript的對象
Javascript作為一種弱語言類型的語言,同時也是一種動態(tài)類型的語言。在使用Javascript的過程中,也常常需要用到Javascript的內(nèi)置對象以及自定義的對象。
1.1 如何創(chuàng)建對象
Javascript是一種弱語言類型的語言,不必像Java、C#等高級語言那樣必須通過構(gòu)造函數(shù)的方法來創(chuàng)建對象,在Javascript中,主要有兩種創(chuàng)建對象的方法,一種是直接通過new關(guān)鍵字定義,一種是通過函數(shù)來定義。如下:
//第一種方式,直接通過new創(chuàng)建對象; var demo = new Object(); demo.name = "Anderson"; demo.sex = "male"; demo.age = 23; //第二種格式,直接實例化,基本上和Json語法是一致的,一般作為第一種方式的替代語法。 var demo = {name:"Anderson",sex:"male",age:25}; //第三種格式,通過構(gòu)造器來創(chuàng)建對象 function Demo(name,sex,age){ this.name = name; this.sex = sex; this.age = age; } var demo = new Demo("Andeson","male",25);
1.2 如何修改對象
Javascript和高級語言的對象語法是不一樣的,總的來說,其限制比較少,當(dāng)創(chuàng)建完對象后,可以對對象的屬性、方法等進(jìn)行動態(tài)的修改,比如添加一個新的屬性,添加一個新的方法等。
var demo = {Name:"Anderson"}; demo.Sex = "male";
1.3 理解Javascript中的數(shù)字對象
在Javascript中,所有的數(shù)字都是64位,所有數(shù)字均由浮點類型組成。Javascript中采用的是IEEE754標(biāo)準(zhǔn)定義的64位浮點數(shù)格式表示數(shù)字,它能表示最大值為±1.7976931348623157 x 10308,最小值為±5 x 10 -324。
var demo1 = 7; //十進(jìn)制表示法 var demo2 = 07; //八進(jìn)制表示法 var demo3 = 0x12; //十六進(jìn)制表示法 var demo4 = 12e12; //科學(xué)計數(shù)法表示法 var demo5 = 12e-12; //科學(xué)計數(shù)法表示法 var demo7 = 128; var demo8 = demo7.toString(16); //轉(zhuǎn)化為十六進(jìn)制 var demo9 = demo7.toString(8); //轉(zhuǎn)化為八進(jìn)制 var demo10= demo7.toString(2); //轉(zhuǎn)化為二進(jìn)制 var demo11= Infinity; //無窮大表示法 var demo12= isNaN(100); //非數(shù)字值表示法 var demo13= typeof(12); //數(shù)字的類型為 Number var demo14= typeof(new Number(12)); //Number的類型為Object var demo15 = (demo13 == demo14); //兩者相等 var demo16 = (demo13=== demo14); //兩者不相等
1.4 理解Javascript中的字符串對象
var str = "Hello,Anderson"; var demo1 = str[0]; //通過索引,獲取字符串中的字符,超出最大值則返回undefined var demo2 = str.indexOf("H"); //獲取目標(biāo)字符串在源字符串中的位置,找不到則返回 -1 var demo3 = str.length; //獲取字符串的長度 var demo4 = str.lastIndexOf("H"); //獲取目標(biāo)字符串在源字符串中的位置,從串尾開始找,找不到返回-1 var demo5 = str.match("Anderson");//從源串中匹配目標(biāo)串,若有,則返回目標(biāo)串,否則,返回返回 null var demo8 = str.replace("A","d"); //將源串中的目標(biāo)串替換為替換串 var demo9 = str.toUpperCase(); //轉(zhuǎn)換為大寫 var demo10= str.toLowerCase(); //轉(zhuǎn)換為小寫 var demo11= str.split("d"); //轉(zhuǎn)化為數(shù)組 var demo12= "\'"; //表示單引號 var demo13= "\""; //表示雙引號 var demo14= "\\"; //表示斜杠 var demo15= "\n"; //表示換行 var demo16= "\r"; //表示回車 var demo17= "\t"; //表示制表符 var demo18= "\b"; //表示空格 var demo19= "\f"; //表示換頁
1.5 理解Javascript中的日期對象
var demo1 = new Date(); //創(chuàng)建對象,當(dāng)前日期 var demo2 = new Date(22e9); //創(chuàng)建對象,毫秒數(shù) var demo3 = new Date("2016-06-04");//創(chuàng)建對象,日期字符串 var demo4 = new Date(2016,5,12,12,12,12); //創(chuàng)建對象,年月日時分秒 var demo5 = (demo1 > demo2); //比較日期
1.6 理解Javascript中的數(shù)組對象
var demo1 = new Array(1,2,3,4); //創(chuàng)建數(shù)組 var demo2 = [1,3,4,5]; //創(chuàng)建數(shù)組 var demo3 = demo1.concat(demo2); //合并數(shù)組 var demo5 = demo1.concat(demo2,demo3);//合并數(shù)組
1.7 理解Javascript中的正則對象RegExp
RegExp是正則表達(dá)式(Regular Expression)的縮寫。正則表達(dá)式主要用于文本的檢索。其基本的語法形式如下:
var pattern = new RegExp(pattern,modifiers); //通過構(gòu)造方法創(chuàng)建正則對象 var pattern = /pattern/modifiers; //直接聲明正則對象 //其中,修飾符modifiers有兩種,i和g,i表示不區(qū)分大小寫,g表示全文檢索 //pattern表示檢索模型 var str = "Hello, Anderson Lu"; var pattern = /llo/gi; var demo1 = str.match(pattern); //使用實例 var pattern2 = new RegExp("\\Lu\\gi"); var demo2 = pattern2.test(str); //判斷str中是否有符合模式pattern2的串,返回true或者false var demo3 = pattern2.exec(str); //返回匹配的字符串
好了,本文到此就結(jié)束了,除此之外,還有一些其他的對象,比如Math算術(shù)和布爾等等。大家可以通過腳本之家來進(jìn)行學(xué)習(xí)。
相關(guān)文章
javascript window.confirm確認(rèn) 取消對話框?qū)崿F(xiàn)代碼小結(jié)
本文章講述的三種都是基于了javascript confirm提示確認(rèn)框的做法了,只是在不同的地方寫哦,有需要的同學(xué)可參考一下2012-10-10js 實現(xiàn)css風(fēng)格選擇器(壓縮后2KB)
近日在做一些OA前端界面,為了更好管理頁面代碼想寫個js選擇器,寫著寫著發(fā)現(xiàn)很費力,索性在網(wǎng)上找找看,功夫不負(fù)有心人, 找到一個mini css選擇器,且性能不凡:以下代碼是壓縮后的,僅2KB2012-01-01JavaScript樹型數(shù)據(jù)與一維數(shù)組相互轉(zhuǎn)換方式
這篇文章主要介紹了JavaScript樹型數(shù)據(jù)與一維數(shù)組相互轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06JavaScript 驗證瀏覽器是否支持javascript的方法小結(jié)
一些網(wǎng)站只有客戶端js的驗證,這樣就給一些hacher一些可趁之機(jī)了,不信大家測試一些網(wǎng)站的注冊功能看看,有部分網(wǎng)站只有客戶端驗證,我為了達(dá)到客戶端驗證,先是判斷瀏覽器是否支持js,如果不支持,提示信息,然后屏蔽掉發(fā)送按鈕2009-05-05Javascript對象中關(guān)于setTimeout和setInterval的this介紹
Javascript對象中關(guān)于setTimeout和setInterval的this介紹,需要的朋友可以參考下2012-07-07JavaScript實現(xiàn)仿新浪微博大廳和騰訊微博首頁滾動特效源碼
最近看到朋友用JavaScript實現(xiàn)仿新浪微博大廳和未登錄騰訊微博首頁滾動效果,朋友使用jquery實現(xiàn)的,在網(wǎng)上看到有用js制作的也比較好,于是把我的內(nèi)容整理分享給大家,具體詳解請看本文2015-09-09