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

歡迎訪問 生活随笔!

生活随笔

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

javascript

JavaScript 学习笔记(1)

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

1.?????何為?Jscript


JScript?
是一種解釋型的、基于對象的腳本語言。

?

局限性:?????

1)????????不能使用該語言來編寫?yīng)毩⑦\行的應(yīng)用程序

2)????????沒有對讀寫文件的內(nèi)置支持

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

?

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

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


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

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

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

?

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

2)????????????若在?var?語句中變量沒有初始化,變量自動取值?undefined?(??1)

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

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

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

?

var count = null;

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

?

6)????????????聲明一個變量但沒有初始化,其值為?undefined

?

var longth;

var area = 10 * longth;???????// area?的值為?NaN?,因為?longth??undefined?。


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

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

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

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

undefined??Global?對象的一個屬性。

?

---???null?是對象?(?空對象?,?沒有任何屬性和方法?)?

undefined??undefined?類型的值。

?

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

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

?

---???對象模型中,所有的對象都是?Object?或其子類的實例,但?null?對象例外:

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

?

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

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

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

?

---????運算時?null??undefined?都可以被類型轉(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ū)分大小寫的語言,因此變量名稱?blogjava?和變量名稱?blogJava?是不一樣的

?

<??1>??undefined

?

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

?

如果聲明了一個變量但沒有初始化,該變量的值就是?undefined?

?

如果沒有聲明變量,那么就不能將其與?undefined?進行比較,但是可以將該變量的類型與字符串?"undefined"?進行比較。

?

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

?

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

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

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

?

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

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

?

<??2>??Global

?

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

?

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

?

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

?

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

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

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

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

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

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

?

Number?屬性

Number?方法

MAX_VALUE

toLocaleString

MIN_VALUE

NaN

toString

NEGATIVE_INFINITY

POSITIVE_INFINITY

valueOf

constructor

prototype

?

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

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

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

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

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

?

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

?

Global

方法

escape

eval

isFinite

isNaN

parseFloat

parseInt

unescape

?

<??3>??固有對象

?

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

固有對象

Array

Boolean

Date

Function

Global

Math

Number

Object

RegExp

Regular

Expression

String

??

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


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

?

運算

結(jié)果

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

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

布爾值與字符串相加

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

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

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

?

?

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

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

var hello = "Hello ";?????????????//?一個字符串

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

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

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

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

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

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

復(fù)合(引用)數(shù)據(jù)類型:?
???????對象?
???????數(shù)組

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

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

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

"I’m Ma Jia nan."

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

?

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

?

2.????????數(shù)值類型

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

??????

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

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

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

3.????????boolean

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

?

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

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

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

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

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

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

¨????????對象屬性不存在,

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

???注意不能通過與?undefined?做比較來測試一個變量是否存在,但可以檢查它的類型是否為??undefined??。在以下的代碼范例中,假設(shè)程序員想測試是否已經(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;? ??
??如下情況時,比較的結(jié)果為?true?:
?????? 如果屬性?someObject.prop?包含?null?
??????
?如果屬性?someObject.prop?不存在
要檢查一個對象屬性是否存在,可以使用新的
?in?(??4)?運算符:?
if("prop" in someObject)
//someObject有屬性prop

<??4>??in?運算符

result?=?propertyinobject

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

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

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

總結(jié)

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

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