前端學(xué)習(xí)指南第一天:字符集,類(lèi)型轻抱,值和變量

字符集:

1.區(qū)分大小寫(xiě)飞涂,
2.空格,換行符,和格式控制字符要轉(zhuǎn)義
3.注釋采用//單行注釋
/多行注釋//
4.直接量:js中直接使用的量较店,比如數(shù)字士八,小數(shù),字符串文本梁呈,文本婚度,布爾值,正則表達(dá)式直接量官卡,null空蝗茁,對(duì)象和數(shù)組5.標(biāo)識(shí)符和保留字:js中標(biāo)識(shí)符必須是字母,_寻咒,$開(kāi)始哮翘,保留字是js中使用的字母,不能用于標(biāo)識(shí)符毛秘。
5.分號(hào)可選饭寺,不過(guò)建議還是按規(guī)范寫(xiě)好。

類(lèi)型叫挟,值和變量:

以下是概要艰匙,有個(gè)大致理解
j s的值分為兩類(lèi):原始類(lèi)型(primitive type)和對(duì)象類(lèi)型(object type)。
原始類(lèi)型包含:
數(shù)字抹恳,字符串员凝,布爾值。其中有兩個(gè)特殊的原始值(null 和 undefined),他們不是數(shù)字适秩,字符串或者布爾值绊序,而是代表各自特殊類(lèi)型的唯一成員。
對(duì)象類(lèi)型:
對(duì)象(object)是屬性(property)的集合秽荞,每個(gè)屬性都由“名:值”成對(duì)(值可以是數(shù)字骤公,字符串或者對(duì)象)構(gòu)成。
普通的對(duì)象是“命名值”的無(wú)序集合扬跋,js還定義了一種特殊的對(duì)象——數(shù)組(array)阶捆,是帶有編號(hào)的值的有序集合。
還有一種特殊對(duì)象就是函數(shù)钦听,函數(shù)的定義:函數(shù)是具有與他相關(guān)聯(lián)的可執(zhí)行代碼的對(duì)象洒试,通過(guò)調(diào)用函數(shù)來(lái)運(yùn)行可執(zhí)行的代碼。(他們都是真值)
用new初始化一個(gè)新建的對(duì)象朴上,稱(chēng)之為構(gòu)造函數(shù)垒棋。每個(gè)構(gòu)造函數(shù)定義了一類(lèi)對(duì)象——由構(gòu)造函數(shù)初始化的對(duì)象組成的集合。類(lèi)看做是對(duì)象類(lèi)型的子類(lèi)型痪宰。(叼架?畔裕?)
js定義的類(lèi):數(shù)組(array)類(lèi),函數(shù)(function)類(lèi)乖订,日期(date)類(lèi)定義了代表日期的對(duì)象扮饶,正則(RegExp)類(lèi)定義了正則表達(dá)式(用于匹配,很實(shí)用)乍构,錯(cuò)誤(Error)類(lèi)定義了程序運(yùn)行時(shí)錯(cuò)誤和錯(cuò)誤語(yǔ)法的對(duì)象甜无。
js解釋器有自己的內(nèi)存管理機(jī)制,簡(jiǎn)單點(diǎn)就是說(shuō)不必?fù)?dān)心對(duì)象會(huì)浪費(fèi)內(nèi)存資源哥遮,對(duì)象不用了他就自動(dòng)回收內(nèi)存資源
js是面向?qū)ο蟮恼Z(yǔ)言岂丘,比如對(duì)數(shù)組排序,不必將a傳入sort函數(shù)眠饮,而是調(diào)用a 的sort()方法(大白話(huà):函數(shù)方法為對(duì)象服務(wù)元潘,而不是對(duì)象去迎合函數(shù))

a.sort();// sort(a)的面向?qū)ο蟀姹?

js可以改變對(duì)象屬性和數(shù)組元素的值,但不能改變數(shù)字本身君仆,字符串也不能被改變。
js的數(shù)據(jù)類(lèi)型是可以相互轉(zhuǎn)換的牲距。
不在函數(shù)內(nèi)聲明的變量稱(chēng)為全局變量返咱,在任何地方都是可見(jiàn)的。另外還有局部變量牍鞠,在函數(shù)內(nèi)聲明的變量咖摹。

1.數(shù)字
js不區(qū)分整數(shù)和浮點(diǎn)數(shù),取值范圍類(lèi)似于double难述。

1.1整型直接量
能識(shí)別十進(jìn)制萤晴,十六進(jìn)制(0x開(kāi)頭,后跟隨09和af 代表1015)胁后,八進(jìn)制(0開(kāi)頭店读,后跟隨07)的值。

1.2浮點(diǎn)型直接量
3.14
.333333
6.02e23 //6.0210^23
6.02E-23 //6.02
10^-23

1.3算數(shù)運(yùn)算符


Paste_Image.png

溢出:數(shù)字過(guò)大時(shí)攀芯,Infinity表示無(wú)窮大屯断,數(shù)字過(guò)小時(shí),-Infinity表示無(wú)窮小
下溢:正數(shù)表示比最小值還小時(shí)侣诺,0殖演。負(fù)數(shù)下溢時(shí)返回-0
NaN不是數(shù)字,正0值和負(fù)0值相等年鸳,但正無(wú)窮和負(fù)無(wú)窮不等

1.4 浮點(diǎn)數(shù)和四舍五入
.3-.2的近似值并不等于.2-.1

1.5日期和時(shí)間
Date()構(gòu)造函數(shù)趴久,創(chuàng)建表示時(shí)間和日期的對(duì)象,example:

var then = new Date(2011,0,1);//2011.1.1
var later = new Date(2011,0,1,17,10,30);//2011.1.1 下午5:10:30
var now = new Date()//當(dāng)前時(shí)間
var elapsed=new-then//計(jì)算時(shí)間間隔的毫秒數(shù)
later.getFullYear() //2011
later.getMonth() //0 -->從0開(kāi)始計(jì)數(shù)的月份
later.getDate()//1 -->從1開(kāi)始計(jì)數(shù)的天
later.getDay()//5--> 0 周日 ,5 周一
later.getHours()//當(dāng)?shù)貢r(shí)間
later.getUTHours()//基于時(shí)區(qū)

2.文本

2.1字符串直接量

字符串由16位值組成的序列
“” 表示空字符串
“two\lines” //這里定義了兩行字符串搔确,ECMAScript5定義的

2.2轉(zhuǎn)義字符
\n換行
\ 的組合:\o nul字符 \b 退格符

Paste_Image.png

2.3字符串的使用
字符串有很多方法
var s=“hello”
s.length //s的長(zhǎng)度彼棍,還有很多方法可以參考api
s.split()
s.replace()
s.toUpperCase()
s.charAt()
可以用+連接兩個(gè)字符串

2,4 模式匹配
正則表達(dá)式灭忠,可以看30分鐘入門(mén)正則(其實(shí)不止30分鐘,但看了就能理解了)

http://deerchao.net/tutorials/regex/regex.htm

3 布爾值
true or false
|| 或 滥酥,&& 與更舞,建議去看一下真值表。(大學(xué)離散數(shù)學(xué)學(xué)過(guò))

4.null 和undefined
null 是一個(gè)對(duì)象坎吻,通常描述空值或者無(wú)值缆蝉。
undefined表示更深層次的空值,這個(gè)屬性或者元素不存在
null和undefined兩者往往可以互換瘦真,undefined可以理解為系統(tǒng)級(jí)別出乎意料的空值或錯(cuò)誤刊头,null是程序級(jí)的,正常意料之中的錯(cuò)誤诸尽。

5.全局函數(shù)
全局屬性:undefined Infinty NaN
全局函數(shù):isNaN() parseInt() eval()
構(gòu)造函數(shù):Date() RegExp() String() Object() Arrary()
全局對(duì)象:Math() JSON
全局函數(shù)代碼最頂級(jí)原杂,還有window,在客戶(hù)端中(瀏覽器)充當(dāng)了全局對(duì)象

6.包裝對(duì)象
思考以下

var a ="hello";// 創(chuàng)建一個(gè)字符串
a.len="5" //給她設(shè)置一個(gè)屬性
var b=a.len //查詢(xún)這個(gè)屬性您机,結(jié)果并不是5穿肄,而是undefined。

答案
一般情況下我們用的屬性和方法都是通過(guò)“.”來(lái)訪問(wèn)的际看。比如

console.log("hello".length);//結(jié)果是5

但其實(shí)js已經(jīng)隱式的為我們創(chuàng)建了一個(gè)包裝對(duì)象

console.log(new String("hello".length));//結(jié)果是5

兩者看似沒(méi)區(qū)別咸产,其實(shí)有區(qū)別:

var a1="test";
var a2=new String("test");
console.log(a1==a2);//true
console.log(a1===a2);//false

js自己創(chuàng)建的和你自己創(chuàng)建的就是不一樣。
還有個(gè)不同就是
再拿之前的的例子:

var a ="hello";// 創(chuàng)建一個(gè)字符串
a.len="5" //給她設(shè)置一個(gè)屬性仲闽,此時(shí)隱式的創(chuàng)建了一個(gè)對(duì)象脑溢,但是用完之后就銷(xiāo)毀了
var b=a.len //查詢(xún)這個(gè)屬性,結(jié)果并不是5赖欣,而是undefined屑彻。(銷(xiāo)毀了,自然不存在.len的賦值)

總之推薦自己包裝對(duì)象顶吮,不易出錯(cuò)

7.不可變的原始值和可變的對(duì)象引用
原始值(undefined社牲,null,字符串云矫,數(shù)字膳沽,布爾值)是值的比較,值是無(wú)法改變的让禀。值的長(zhǎng)度和索引的字符位置也相同時(shí)兩個(gè)字符相同

var s="hello";     // 定義一個(gè)字符串
s.toUpperCase();//返回HELLO
s                        //返回hello 挑社,原始字符串的值并未改變

對(duì)象(數(shù)組和函數(shù))的值是可以改變的,對(duì)象相等必須是引用同一個(gè)基對(duì)象巡揍。

var o ={x:1}痛阻;//創(chuàng)建一個(gè)對(duì)象o
o.x=2;//修改對(duì)象的 屬性值來(lái)改變對(duì)象
o.y=3;//再次更改這個(gè)對(duì)象,并增加一個(gè)新屬性

var a=[1,1,2];//創(chuàng)建數(shù)組
a[0]=2;//第一個(gè)元素修改為2
a[3]=5;//給數(shù)組增加一個(gè)新元素

8.類(lèi)型轉(zhuǎn)換

Paste_Image.png

js一般會(huì)自動(dòng)轉(zhuǎn)換所需要的類(lèi)型腮敌。
“==”是判斷兩個(gè)值是否相等
“===”判斷兩個(gè)值和類(lèi)型是否相等

顯式轉(zhuǎn)換:
Number("3") -----3 數(shù)字
String(false) -----"false",字符串
Boolean([]) ---true
Object(3) -----new number(3)

9.變量聲明
使用變量之前先聲明阱当,如果沒(méi)有聲明俏扩,那他就是undefined
var i,sum;
var message="hello";
var i=1,j=2,k=3;

10.變量的作用域

通俗來(lái)講,在整個(gè)代碼中定義的變量弊添,那他的作用域則是整篇代碼录淡,就是全局變量
在函數(shù)內(nèi)定義的變量,作用域是當(dāng)前函數(shù)油坝,就是局部變量嫉戚。
局部變量的優(yōu)先級(jí)高于同名的全局變量

var scope ="global";
function checkscope(){
      var scope = "local";
      return scope; // 返回局部變量而不是全局變量
}
checkscope() //---->local

函數(shù)作用域和聲明提前:在函數(shù)內(nèi)部,不管在哪里聲明澈圈,其實(shí)他們都是統(tǒng)一被放在函數(shù)頂部被聲明彬檀。所以通常的做法是在函數(shù)頂部統(tǒng)一聲明變量。(預(yù)解析瞬女,并不會(huì)進(jìn)行賦值等操作)

作為屬性的變量
全局變量是全局對(duì)象的屬性窍帝,是不可刪除的(無(wú)法通過(guò)delete運(yùn)算符刪除)纪挎。而在局部變量中則沒(méi)有這個(gè)規(guī)定涯鲁。而你沒(méi)有聲明全局變量時(shí),由js自己創(chuàng)建的全局變量時(shí)可以刪除的肢簿。

var truevar=1;//聲明一個(gè)不可刪除的全局變量
fakevar=2;//由js創(chuàng)建的全局變量
this.fakevar2=3;//同上
delete turevar// FALSE沒(méi)有被刪除
delete fakevar//true 刪除了
delete this.fakevar2//TRUE 刪除了
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末报慕,一起剝皮案震驚了整個(gè)濱河市拥峦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌卖子,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,294評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刑峡,死亡現(xiàn)場(chǎng)離奇詭異洋闽,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)突梦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)诫舅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人宫患,你說(shuō)我怎么就攤上這事刊懈。” “怎么了娃闲?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,790評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵虚汛,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我皇帮,道長(zhǎng)卷哩,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,595評(píng)論 1 284
  • 正文 為了忘掉前任属拾,我火速辦了婚禮将谊,結(jié)果婚禮上冷溶,老公的妹妹穿的比我還像新娘。我一直安慰自己尊浓,他們只是感情好逞频,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,718評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著栋齿,像睡著了一般苗胀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上褒颈,一...
    開(kāi)封第一講書(shū)人閱讀 49,906評(píng)論 1 290
  • 那天柒巫,我揣著相機(jī)與錄音,去河邊找鬼谷丸。 笑死堡掏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的刨疼。 我是一名探鬼主播泉唁,決...
    沈念sama閱讀 39,053評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼揩慕!你這毒婦竟也來(lái)了亭畜?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,797評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤迎卤,失蹤者是張志新(化名)和其女友劉穎拴鸵,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蜗搔,經(jīng)...
    沈念sama閱讀 44,250評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡劲藐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,570評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了樟凄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片聘芜。...
    茶點(diǎn)故事閱讀 38,711評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖缝龄,靈堂內(nèi)的尸體忽然破棺而出汰现,到底是詐尸還是另有隱情,我是刑警寧澤叔壤,帶...
    沈念sama閱讀 34,388評(píng)論 4 332
  • 正文 年R本政府宣布瞎饲,位于F島的核電站,受9級(jí)特大地震影響炼绘,放射性物質(zhì)發(fā)生泄漏企软。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,018評(píng)論 3 316
  • 文/蒙蒙 一饭望、第九天 我趴在偏房一處隱蔽的房頂上張望仗哨。 院中可真熱鬧形庭,春花似錦、人聲如沸厌漂。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,796評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)苇倡。三九已至富纸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間旨椒,已是汗流浹背晓褪。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,023評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留综慎,地道東北人涣仿。 一個(gè)月前我還...
    沈念sama閱讀 46,461評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像示惊,于是被迫代替她去往敵國(guó)和親好港。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,595評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容