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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

JavaScript 学习笔记(1)

發(fā)布時(shí)間:2025/3/20 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript 学习笔记(1) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.?????何為?Jscript


JScript?
是一種解釋型的、基于對(duì)象的腳本語(yǔ)言。

?

局限性:?????

1)????????不能使用該語(yǔ)言來(lái)編寫(xiě)?yīng)毩⑦\(yùn)行的應(yīng)用程序

2)????????沒(méi)有對(duì)讀寫(xiě)文件的內(nèi)置支持

3)????????只能在某個(gè)解釋器或??宿主??上運(yùn)行,如?ASP??Internet?瀏覽器或者?Windows?腳本宿主

?

JScript?是一種寬松類(lèi)型語(yǔ)言?,?這意味著我們不必顯式定義變量的數(shù)據(jù)類(lèi)型。多數(shù)情況下,?JScript?將根據(jù)需要自動(dòng)進(jìn)行轉(zhuǎn)換。例如:將數(shù)值添加到字符串上時(shí),數(shù)值將被轉(zhuǎn)換為字符串(詳情見(jiàn)強(qiáng)制轉(zhuǎn)換)。

2.?????變量的聲明


var count;?????????????????//
?變量聲明

var count = 0;???????????//?變量聲明?&?初始化

name = "";????????????????//?隱式聲明變量?name?,沒(méi)有使用關(guān)鍵字?var

?

1)????????????變量聲明之后就置于內(nèi)存之中,以便后來(lái)在腳本中使用

2)????????????若在?var?語(yǔ)句中變量沒(méi)有初始化,變量自動(dòng)取值?undefined?(??1)

3)????????????隱式聲明的變量擁有全局范圍可見(jiàn)度。當(dāng)在函數(shù)中聲明一個(gè)變量時(shí),該變量不能用于全局范圍,所以函數(shù)中聲明變量必須使用?var?關(guān)鍵

4)????????????不能使用未經(jīng)過(guò)聲明的變量

5)????????????聲明一個(gè)變量并進(jìn)行初始化,但又不想指定任何特殊值,可以賦值為?null?

?

var count = null;

var money = 3 * count;???????// money?的值為?0?

?

6)????????????聲明一個(gè)變量但沒(méi)有初始化,其值為?undefined

?

var longth;

var area = 10 * longth;???????// area?的值為?NaN?,因?yàn)?/span>?longth??undefined?


***********************************??

*???JScript?
?null??undefined?的主要區(qū)別???*

***************************************

---???null
?是關(guān)鍵字;

undefined??Global?對(duì)象的一個(gè)屬性。

?

---???null?是對(duì)象?(?空對(duì)象?,?沒(méi)有任何屬性和方法?)?

undefined??undefined?類(lèi)型的值。

?

document.writeln(typeof null);?????????????????? //?輸出?object

document.writeln(typeof undefined);?????????//?輸出?undefined

?

---???對(duì)象模型中,所有的對(duì)象都是?Object?或其子類(lèi)的實(shí)例,但?null?對(duì)象例外:

document.writeln(null instanceof Object);//?輸出?false

?

---???null“?等值?(==)”??undefined?,但不??全等值?(===)”??undefined?

document.writeln(null == undefined);????????????????//?輸出?true

document.writeln(null === undefined);?????????????//?輸出?false

?

---????運(yùn)算時(shí)?null??undefined?都可以被類(lèi)型轉(zhuǎn)換為?false?,但不等值于?false?

document.writeln(!null);???????????????????????????????????//?輸出?true

document.writeln(!undefined);?????????????????????? ??//?輸出?true

document.writeln(null==false);????????????????????????//?輸出?false

document.writeln(undefined==false);??????????????//?輸出?false

?

?

7)????????????JScript?是一種區(qū)分大小寫(xiě)的語(yǔ)言,因此變量名稱(chēng)?blogjava?和變量名稱(chēng)?blogJava?是不一樣的

?

<??1>??undefined

?

undefined?屬性?Global?(??2)?對(duì)象的一個(gè)成員,該屬性在腳本引擎初始化后可用。

?

如果聲明了一個(gè)變量但沒(méi)有初始化,該變量的值就是?undefined?

?

如果沒(méi)有聲明變量,那么就不能將其與?undefined?進(jìn)行比較,但是可以將該變量的類(lèi)型與字符串?"undefined"?進(jìn)行比較。

?

*****? undefined?應(yīng)用示例?*****

?

var declared;????????????????????????????????????//?聲明變量。

if (declared == undefined)????????????????//?測(cè)試變量。

??document.write("declared has not been initialized.");

?

if (typeOf(notDeclared) == "undefined")

??document.write("notDeclared has not been defined.");

?

<??2>??Global

?

Global?對(duì)象是一個(gè)固有對(duì)象?(??3)?,把所有全局方法集中在一個(gè)對(duì)象中。

?

Global?不能用?new?運(yùn)算符創(chuàng)建。它在?JScripting?引擎被初始化時(shí)創(chuàng)建,并立即使其方法和屬性可用。

?

***** Global?屬性?*****

?

1)????????Infinity?:返回?Number.POSITIVE_INFINITY?的初始值

???POSITIVE_INFINITY?屬性返回比在?JScript?中能夠表示的最大的數(shù)?(Number.MAX_VALUE)?更大的值。

???JScript??POSITIVE_INFINITY?值顯示為?infinity,?該值數(shù)學(xué)上的作用與正無(wú)窮相同。
?

?與之相對(duì),?NEGATIVE_INFINITY?屬性返回比?JScript?能夠表示的最小負(fù)數(shù)(?-Number.MAX_VALUE?)更小的值。

???JScript??NEGATIVE_INFINITY?值顯示為?-infinity,?該值數(shù)學(xué)上的作用與負(fù)無(wú)窮相同。

?可以看出?POSITIVE_INFINITY??NEGATIVE_INFINITY?都是?Number?對(duì)象的屬性,?Number?對(duì)象最主要的用途是將其屬性集中到一個(gè)對(duì)象中,以及使數(shù)字能夠通過(guò)?toString?方法轉(zhuǎn)換為字符串。

?

Number?屬性

Number?方法

MAX_VALUE

toLocaleString

MIN_VALUE

NaN

toString

NEGATIVE_INFINITY

POSITIVE_INFINITY

valueOf

constructor

prototype

?

2)????????NaN?:返回特殊值?NaN?,表示表達(dá)式不是數(shù)字

?相關(guān)方法:?isNan( numValue )

??????????返回一個(gè)?Boolean?值,指明提供的值?(numValue)?是否是保留值?NaN (?不是數(shù)字?)?,即判斷是否為數(shù)字。

????????? 如果值是?NaN??那么?isNaN?函數(shù)返回?true?,否則返回?false?
??????????
?使用這個(gè)函數(shù)的典型情況是檢查?parseInt??parseFloat?方法的返回值。

????????? 還有一種辦法,變量可以與它自身進(jìn)行比較。?如果比較的結(jié)果不等,那么它就是?NaN??這是因?yàn)?/span>?NaN?是唯一與自身不等的值。

?

***** Global?方法?*****

?

Global

方法

escape

eval

isFinite

isNaN

parseFloat

parseInt

unescape

?

<??3>??固有對(duì)象

?

固有對(duì)象是作為標(biāo)準(zhǔn)?JScript?語(yǔ)言一部分的一種對(duì)象。所有的腳本都可以使用這種對(duì)象。?JScript?中的固有對(duì)象:

固有對(duì)象

Array

Boolean

Date

Function

Global

Math

Number

Object

RegExp

Regular

Expression

String

??

3.?????強(qiáng)制轉(zhuǎn)換


?Jscript?中,可以對(duì)不同類(lèi)型的值執(zhí)行運(yùn)算,?JScript?解釋器自動(dòng)將數(shù)據(jù)類(lèi)型之一改變?(?強(qiáng)制轉(zhuǎn)換?)?為另一種數(shù)據(jù)類(lèi)型,然后執(zhí)行運(yùn)算。

?

運(yùn)算

結(jié)果

數(shù)值與字符串相加

將數(shù)值強(qiáng)制轉(zhuǎn)換為字符串

布爾值與字符串相加

將布爾值強(qiáng)制轉(zhuǎn)換為字符串

數(shù)值與布爾值相加

將布爾值強(qiáng)制轉(zhuǎn)換為數(shù)值

?

?

*****?強(qiáng)制轉(zhuǎn)換示例?*****

var year = 2008;?????????????????//?一個(gè)數(shù)字

var hello = "Hello ";?????????????//?一個(gè)字符串

hello = hello + year;????????????//?將數(shù)字強(qiáng)制轉(zhuǎn)換為字符串

document.write(hello);????????//?輸出?Hello 2008

要想顯示的將字符串轉(zhuǎn)換為數(shù)字可使用方法?parseInt()??parseFloat()?

4.?????JScript?的數(shù)據(jù)類(lèi)型

Jscript?有三種主要數(shù)據(jù)類(lèi)型、兩種復(fù)合數(shù)據(jù)類(lèi)型和兩種特殊數(shù)據(jù)類(lèi)型。

主要(基本)數(shù)據(jù)類(lèi)型:?
??????字符串
????
?數(shù)值
????
?布爾

復(fù)合(引用)數(shù)據(jù)類(lèi)型:?
???????對(duì)象?
???????數(shù)組

特殊數(shù)據(jù)類(lèi)型:?
???????Null?
???????
Undefined?

1.????????字符串

1)????????字符串中可以包含雙引號(hào),該雙引號(hào)兩邊需加單引號(hào),
?字符串中可以包含單引號(hào),該單引號(hào)兩邊需加雙引號(hào)。

"I’m Ma Jia nan."

'"good good study, day day up", my teacher said.'

?

2)????????JScript?中沒(méi)有表示單個(gè)字符的類(lèi)型(如?C++??char?)。要表示?Jscript?中的單個(gè)字符,應(yīng)創(chuàng)建一個(gè)只包含一個(gè)字符的字符串。包含零個(gè)字符(?""?的字符串是空(零長(zhǎng)度)字符串

?

2.????????數(shù)值類(lèi)型

?Jscript?中整數(shù)和浮點(diǎn)值沒(méi)有差別;?JScript?數(shù)值可以是其中任意一種(?JScript?內(nèi)部將所有的數(shù)值表示為浮點(diǎn)值)。

??????

1)????????整型

八進(jìn)制和十六進(jìn)制數(shù)可以為負(fù),但不能有小數(shù)位,同時(shí)不能以科學(xué)計(jì)數(shù)法(指數(shù))表示。

2)????????JScript?包含特殊值數(shù)字:?
NaN(?不是數(shù))。當(dāng)對(duì)不適當(dāng)?shù)臄?shù)據(jù)進(jìn)行數(shù)學(xué)運(yùn)算時(shí)使用,例如字符串或未定義值。?
正無(wú)窮大。在JScript中如果一個(gè)正數(shù)太大的話使用它來(lái)表示。?
負(fù)無(wú)窮大。在JScript中如果一個(gè)負(fù)數(shù)太大的話使用它來(lái)表示。?
正0和負(fù)0。Jscript區(qū)分正0和負(fù)0。?

3.????????boolean

任何值為?0??null?、未定義(undefined)或空字符串的表達(dá)式被解釋為false。其他任意值的表達(dá)式解釋為true

?

4.????????Null?數(shù)據(jù)類(lèi)型

1)????????在?Jscript?中數(shù)據(jù)類(lèi)型?null?只有一個(gè)值:?null?。關(guān)鍵字?null?不能用作函數(shù)或變量的名稱(chēng)。

2)????????包含?null?的變量包含??無(wú)值??或??無(wú)對(duì)象??。換句話說(shuō),該變量沒(méi)有保存有效的數(shù)、字符串、?boolean?、數(shù)組或?qū)ο蟆?/p>

3)????????Jscript?中,?null?與?0?不相等(與在?C?和?C++?中不同)。同時(shí)應(yīng)該指出的是,?Jscript?中?typeof?運(yùn)算符將報(bào)告?null?值為?Object?類(lèi)型,而非類(lèi)型?null?。這點(diǎn)潛在的混淆是為了向下兼容。

5.????????Undefined?數(shù)據(jù)類(lèi)型

如下情況使返回?undefined?值:

¨????????對(duì)象屬性不存在,

¨????????聲明了變量但從未賦值。

???注意不能通過(guò)與?undefined?做比較來(lái)測(cè)試一個(gè)變量是否存在,但可以檢查它的類(lèi)型是否為??undefined??。在以下的代碼范例中,假設(shè)程序員想測(cè)試是否已經(jīng)聲明變量?x?:

??????//方法不起作用?
??????if( x == undefined)
????????????//do sth
??????
???//方法不起作用,必須檢查字符串"undefined"
???if(typeof(x) == undefined)
??????// do sth

???//方法有效
???if(typeof(x) == "undefined")
??????//do sth

考慮將?undefined?值與?null?做比較。????????
someObject.prop == null;? ??
??如下情況時(shí),比較的結(jié)果為?true?:
?????? 如果屬性?someObject.prop?包含?null?
??????
?如果屬性?someObject.prop?不存在
要檢查一個(gè)對(duì)象屬性是否存在,可以使用新的
?in?(??4)?運(yùn)算符:?
if("prop" in someObject)
//someObject有屬性prop

<??4>??in?運(yùn)算符

result?=?propertyinobject

in?操作檢查對(duì)象中是否有名為?property?的屬性。?

?<to be continued ... ...>

本文轉(zhuǎn)自BlogJavaOo緣來(lái)是你oO的博客,原文鏈接:JavaScript 學(xué)習(xí)筆記(1),如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原博主。

總結(jié)

以上是生活随笔為你收集整理的JavaScript 学习笔记(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。