摘要:布爾值和兩個(gè)值,與其他語言中似乎沒有任何區(qū)別以及特異所在。注意點(diǎn)中有類假的概念,即便不是也會(huì)被當(dāng)做處理,請(qǐng)注意下面幾個(gè)值布爾值未定義空字符串面向?qū)ο蠛苓z憾地說,設(shè)計(jì)的時(shí)候肯定沒有考慮。
JavaScript 特性
1.弱類型語言
2.解釋型語言
3.客戶端語言
對(duì)于有學(xué)習(xí)Java、C以及Python一類的人來說,最熟悉的莫過于這些都是強(qiáng)類型語言。它們嚴(yán)格的遵守自身的規(guī)定,永遠(yuǎn)也不會(huì)有下面的情況出現(xiàn),因?yàn)榫幾g的時(shí)候會(huì)自己拋出錯(cuò)誤而終止運(yùn)行。
var sum="1"+1 console.log(sum) >>"11"
編譯類型則與Python的定位比較類似,它們都是一邊執(zhí)行,一邊解釋。這就是與Java這類編譯型語言的不同所在。譬如Java就是先編譯生成靜態(tài)的class文件,然后才會(huì)利用jvm執(zhí)行。
客戶端語言則就是對(duì)于瀏覽器而言。我們常說的php就是一種典型的服務(wù)器端語言,它是執(zhí)行在web服務(wù)器的腳本。PHP在服務(wù)器端利用用戶傳遞的數(shù)據(jù)生成請(qǐng)求的頁(yè)面,然后將其發(fā)送給用戶。而JavaScript則與其相反,因?yàn)樗菆?zhí)行在瀏覽器中。只需要將寫好的js腳本和頁(yè)面發(fā)送給用戶,這個(gè)時(shí)候用戶的瀏覽器就會(huì)自動(dòng)生成絢麗多彩的網(wǎng)頁(yè)。
常用交互window對(duì)象位于DOM層級(jí)的最頂端,代表顯示頁(yè)面的瀏覽器窗口,而我們則可以利用它完成一系列交互動(dòng)作。
alert("Boom!") window.alert("Boom, too!") //this is equal to alert("Boom!")
上面是最常見的彈出警告框,此外還有類似的window.confirm()和window.prompt()
window.document.write() document.write() // This has the the same fuction of "window.document.write()"
大家可能已經(jīng)注意到在一個(gè)窗口中永遠(yuǎn)包含window對(duì)象,所以我們省略不寫就會(huì)默認(rèn)使用window。
而這里write()函數(shù)的功能就是直接向HTML文檔寫入字符,對(duì)的!就是一種直接寫入功能,相當(dāng)?shù)谋孔尽?
這里會(huì)有更好的解決方案,舉個(gè)例子:
this is for Rare to test
var item=document.getElementById("1234"); item.innerHTML="這是十八用來測(cè)試的" //這個(gè)時(shí)候標(biāo)簽的文本其實(shí)已經(jīng)變?yōu)榱松厦娴淖址?/pre>
備注:JavaScript的每一行的末尾不強(qiáng)制使用;,這一點(diǎn)和Python語言極其的類似。
數(shù)據(jù)類型相對(duì)其他語言,js的數(shù)據(jù)類型也是一般般,其實(shí)并無奇特之處,當(dāng)然沒有字符這個(gè)數(shù)據(jù)類型需要特別注意一下。下面介紹它的基本數(shù)據(jù)類型。
1.數(shù)值很遺憾的說,JavaScript似乎并沒有具體區(qū)分byte, short, int, long, float和double耶。就籠統(tǒng)的指定了一個(gè)數(shù)值類型。我們需要注意的是,NaN(not a number),Infinity(無窮大)這兩個(gè)在數(shù)值中的特殊存在。
2.字符串雷同C中的字符串類型(雖然C沒有字符串類型)。因?yàn)樗鼈兊囊恍┖瘮?shù)極其的相似,比如concat(), split()等等。命名和用法都幾乎一摸一樣。
3.布爾值false和true兩個(gè)值,與其他語言中似乎沒有任何區(qū)別以及特異所在。注意點(diǎn):JavaScript中有類假的概念,即便不是false也會(huì)被當(dāng)做false處理,請(qǐng)注意下面幾個(gè)值:
面向?qū)ο?/b>
1.布爾值false
2.未定義undefined
3.null
4.0
5.NaN
6.""空字符串很遺憾地說,JavaScript設(shè)計(jì)的時(shí)候肯定沒有考慮OOP(Object-Oriented Programming)。當(dāng)然即便這樣JavaScript也提供了多種new對(duì)象的方式。
1.創(chuàng)建直接實(shí)例JavaScript直接內(nèi)置了一個(gè)對(duì)象Object,可以用來創(chuàng)建一個(gè)小白對(duì)象,即空白對(duì)象:
newObject=new Object()是不是與常見的創(chuàng)建對(duì)象不太一樣,比如下面這樣的:
// in java Class item=new Class(); // in python item=Class()2.使用關(guān)鍵字thisthis指向HTML元素本身,這是我們使用this創(chuàng)建對(duì)象的時(shí)候必須注意的地方。而當(dāng)我們?cè)诤瘮?shù)中使用this則指向函數(shù)的父對(duì)象。參照J(rèn)ava中的this,簡(jiǎn)單易懂。
newObject=new Object() newObject.info="This is for testing." function ahhh(){ alert(this.info) } newObject.showInfo=ahhh上面的函數(shù)ahhh里面的this相當(dāng)于newObject,但函數(shù)外部卻不可使用this.showInfo=ahhh,因?yàn)閠his是指向父對(duì)象的。newObject.showInfo=ahhh本質(zhì)上是將ahhh函數(shù)的地址傳遞給showInfo,使其可以調(diào)用。
3.匿名函數(shù)舉個(gè)栗子:
newObject.showInfo=function(){ alert(this.info) }我們讓newObject的showInfo屬性具備了這個(gè)函數(shù)的功能,但是這個(gè)函數(shù)叫什么名字我們并不知道,難道它隱匿了名字,那它豈不就是一種匿名函數(shù)(anonymous function)。
4.使用構(gòu)造函數(shù)emmm,熟悉java的話一定不會(huì)對(duì)構(gòu)造函數(shù)陌生,在java中它是一個(gè)有著和類一樣名字的特殊函數(shù),并且不能有返回值。但是在JavaScript中卻有點(diǎn)不太一樣。請(qǐng)看下面的代碼:
function myObject(){ this.info="It"s my object." this.showInfo=function(){ alert(this.info) } this.setInfo=function(){ this.info=newInfo } } var oneObject=new myObject()沒想到吧,本質(zhì)上myObject不是一個(gè)函數(shù)嗎?不過這里卻看到了js的一個(gè)不足之處,構(gòu)造函數(shù)不能有多個(gè),當(dāng)然其實(shí)本質(zhì)上只是向構(gòu)造函數(shù)傳遞的參數(shù)不同,而js有著和Python一樣的可選參數(shù)機(jī)制,自然不需要多個(gè)構(gòu)造函數(shù)。
emmm,沒想到寫這篇文章比學(xué)習(xí)的時(shí)間還長(zhǎng),先撤了先撤了,有空填坑,回見啦。一分鐘讀懂Python編程的三個(gè)特殊方法
個(gè)人博客十八歡迎關(guān)注公眾號(hào):Python與MySQL,有空會(huì)填各種坑的。回見!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/95721.html
摘要:字符串也可以是一個(gè)對(duì)象日期是一個(gè)對(duì)象數(shù)學(xué)和正則表達(dá)式也是對(duì)象數(shù)組是一個(gè)對(duì)象甚至函數(shù)也可以是對(duì)象一般的語言,都是利用類來創(chuàng)建對(duì)象,完成面向?qū)ο蟮倪^程。 在之前的一篇文章的末尾我提到了JavaScript的對(duì)象創(chuàng)建方法,可以利用函數(shù),內(nèi)置對(duì)象和this等關(guān)鍵詞實(shí)現(xiàn)對(duì)象的創(chuàng)建。但是很遺憾,我最先接觸的面向?qū)ο蟮木幊陶Z言是java,因而對(duì)于這些實(shí)現(xiàn)面向?qū)ο蟮姆椒ú⒎亲约旱氖走x。下面是那篇文章:...
摘要:面試官說那我問你一個(gè)哲學(xué)的問題,為什么有數(shù)據(jù)結(jié)構(gòu)這種東西哇,這是啥,巴拉巴拉扯了一通,大致就是物以類聚,人以群分,先人積累下來的經(jīng)驗(yàn),這些讓我們更方便處理數(shù)據(jù)啥的。 前因,沒有比摸魚有趣的事了 距離自己被外派(俗稱外包)出去,已經(jīng)過了快五個(gè)月,工作的話,很閑。人啊,一定保持好的習(xí)慣,懶惰是會(huì)上癮,日常摸魚,懷疑人生,我是誰,我在哪,我要干什么。 中午吃飯的時(shí)候,收到了boss直聘的一條...
摘要:記一次打包前言公司的一個(gè)公眾號(hào)要做一個(gè)的活動(dòng)很簡(jiǎn)單的兩個(gè)頁(yè)面寫完之后我想要不要去做一下壓縮還是直接放上去就好了后面一想還是做下壓縮吧正好重新學(xué)習(xí)下以前用都是人家寫好的手腳架拿來直接用的自己改改沒啥問題但是要自己重新搭一套好像也不太會(huì)所以趁這 記一次webpack打包 前言 公司的一個(gè)公眾號(hào)要做一個(gè)H5的活動(dòng). 很簡(jiǎn)單的兩個(gè)頁(yè)面, 寫完之后, 我想要不要去做一下壓縮, 還是直接放上去...
摘要:前言這段時(shí)間一直負(fù)責(zé)公司的小程序的開發(fā),總結(jié)了一些小程序的開發(fā)心得,方便自己以后的查閱也方便同仁少踩點(diǎn)坑。文章底部的技巧類小程序的識(shí)別小程序二維碼功能,小程序的高斯模糊,都是自己填的坑。 前言:這段時(shí)間一直負(fù)責(zé)公司的小程序的開發(fā),總結(jié)了一些小程序的開發(fā)心得,方便自己以后的查閱也方便同仁少踩點(diǎn)坑。文章底部的技巧類小程序的識(shí)別小程序二維碼功能,小程序的高斯模糊,都是自己填的坑。歡迎交流。 ...
閱讀 2066·2019-08-30 15:53
閱讀 3064·2019-08-30 15:44
閱讀 2913·2019-08-30 14:11
閱讀 2910·2019-08-30 14:01
閱讀 2694·2019-08-29 15:16
閱讀 3718·2019-08-29 13:10
閱讀 1238·2019-08-29 10:56
閱讀 2525·2019-08-26 13:58