摘要:在中,標(biāo)識(shí)符常用于定義變量名和函數(shù)名等。復(fù)雜的表達(dá)式由簡(jiǎn)單表達(dá)式和運(yùn)算符組成。布爾類型只有兩個(gè)值真和假。表示一個(gè)空的對(duì)象。操作符檢測(cè)會(huì)返回。是派生自的,因此規(guī)定對(duì)它們的相等性測(cè)試返回表示值相等。
Javascript 簡(jiǎn)介
JavaScript是一種運(yùn)行在瀏覽器中的解釋型的編程語言:
將文本格式的字符代碼發(fā)送給瀏覽器由瀏覽器解釋運(yùn)行。
JavaScript組成
核心(ECMAScript),定義javascript的語法標(biāo)準(zhǔn)
瀏覽器對(duì)象模型(BOM)Browse Object Model:提供與瀏覽器交互的方法和接
口(API)
文檔對(duì)象模型(DOM)Document Object Model:提供訪問和操作網(wǎng)頁HTML內(nèi)
容的方法和接口
注意:接口API指的是編程接口,英文全稱是Application Programming在HTML中嵌入JavaScript腳本
Interface
JavaScript代碼可以直接嵌在網(wǎng)頁的任何地方, 必需使用 標(biāo)簽將JavaScript嵌入到 HTML 文檔,才能被瀏覽器解釋和執(zhí)行。
JavaScript 腳本嵌入到 HTML 文檔中方法:
1.通過 標(biāo)簽嵌入
2.引入外部腳本;
可以在同一個(gè)頁面中引入多個(gè).js文件,瀏覽器按照順序依次執(zhí)行
script標(biāo)簽的 src 表示要引入的外部文件 ,type 表示腳本語言的類型(現(xiàn)代瀏覽器默認(rèn)type="text/javascript"),所以script標(biāo)簽可以不寫type語法基礎(chǔ) 注釋
注釋是給開發(fā)人員看到,JavaScript引擎會(huì)自動(dòng)忽略。
行注釋:
// 這是一行注釋
塊注釋:
塊注釋是用/.../把多行字符包裹起來,把一大“塊”視為一個(gè)注釋
/* 塊注釋 塊注釋 */
文檔注釋:
/* * 文檔注釋 *文檔注釋 */標(biāo)識(shí)符和命名規(guī)范
標(biāo)識(shí)符就是一個(gè)名字。在javascript中,標(biāo)識(shí)符常用于定義變量名和函數(shù)名等。
命名規(guī)范:
1.在javascript中,標(biāo)識(shí)符由字母,下劃線_和美元符$,數(shù)字組成
2.標(biāo)識(shí)符不能以數(shù)字開頭
3.標(biāo)識(shí)符區(qū)分大小寫:age和Age是不同的標(biāo)識(shí)符,不建議代碼里出現(xiàn)用大小寫區(qū)分不同的標(biāo)識(shí)符
4.變量名或者函數(shù)名的標(biāo)識(shí)符不能使用關(guān)鍵字或保留字。
5.命名盡量遵守駝峰原則:personInfo,personName,personAge,
關(guān)鍵字:
break case catch continue default delete do else finally for function if in instanceof new return switch this throw try typeof var void while with
保留字:
abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public語句
語句指的是程序執(zhí)行行為的單元,每個(gè)語句以分號(hào)";"結(jié)束。
語句結(jié)束的分號(hào)可以不寫,瀏覽器解析會(huì)自動(dòng)添加,但建議都加上。
下面是一個(gè)完整的賦值語句: var x = 1; var y = 1; var sum= 2; // 不建議一行寫多個(gè)語句!,不美觀語句塊
塊由左花括號(hào)開始,由右花括號(hào)結(jié)束 {...}。
塊的作用是使語句序列一起執(zhí)行。
語句塊是一組語句的集合。例如下面{...}中的所有語句組成語句塊。
var x=10; var y=20; var sum=0; { x=x+5; y=y+10; sum=x+y; }聲明
用關(guān)鍵字 var(variable) 聲明一個(gè)變量或常量(用于存儲(chǔ)數(shù)據(jù)的容器)
例如:var x; //聲明一個(gè)變量,變量名為x var x,y; //可以一次聲明多個(gè)變量,變量名用逗號(hào)分隔;常量
常量名習(xí)慣用大寫字母表示
常量的值不會(huì)通過再賦值改變,也不會(huì)再次聲明,通常在初始化的時(shí)候被賦值。
var SEX="男";變量
變量就是可以改變的量,變量的值會(huì)通過再賦值改變,也可以再次聲明和賦值。
例如:
// 先聲明,后賦值 var x; x=1; // 聲明的同時(shí)進(jìn)行賦值 var x=2; // 同時(shí)聲明多個(gè)變量用逗號(hào)( ,)分開 var x,y,s; x=1; y=2; s=3; // 同時(shí)聲明和賦值多個(gè)變量,用逗號(hào)( ,)分開 var x=1,y=2,s=3;表達(dá)式
表達(dá)式是javascript中的一個(gè)短語,表達(dá)式指的是可用于計(jì)算的式子,即可能產(chǎn)生一個(gè)值的式子。
變量名也是一種簡(jiǎn)單的表達(dá)式,它的值就是賦值給變量的值。 復(fù)雜的表達(dá)式由簡(jiǎn)單表達(dá)式和運(yùn)算符組成。
例如:
var x=15; //表達(dá)式x的值是15 var y=20; //表達(dá)式的值是20 var sum=x+y; //表達(dá)式x+y的值的35數(shù)據(jù)類型
編程語言最基本的特性就是能夠支持多種數(shù)據(jù)類型
數(shù)據(jù)類型分類
Number:數(shù)字(整數(shù)int,浮點(diǎn)數(shù)float) String:字符串 Boolean: 布爾類型 特殊數(shù)據(jù)類型 Null、Undefined Object:對(duì)象 Array:數(shù)組對(duì)象 Function :函數(shù)對(duì)象
typeof 操作符返回?cái)?shù)據(jù)類型:
typeof 操作符: 用來檢測(cè)變量的數(shù)據(jù)類型, 對(duì)于值或變量使用 typeof 操作符會(huì)返回 如下字符串: 1.Undefined數(shù)據(jù)類型的值為: var a; console.log(typeof a); //undefined 未定義 2.Boolean數(shù)據(jù)類型的值為: var a=true; console.log(typeof a); //boolean 布爾值 3.String數(shù)據(jù)類型的值為: var a="hello world"; console.log(typeof a); //string 字符串 4.Number數(shù)據(jù)類型的值為: var a=1314; console.log(typeof a); //number 數(shù)字 5.Object數(shù)據(jù)類型的值為: var a=null; console.log(typeof a); //object null var b={ }; console.log(typeof b); //object 對(duì)象 6.Function數(shù)據(jù)類型的值為: var a=function () {}; console.log(typeof a); //function 函數(shù)
Number 數(shù)字類型包含兩種數(shù)值:整型和浮點(diǎn)型
合法的數(shù)字類型Number類型:
整型:
var b = 100; console.log(b); console.log(typeof b);
浮點(diǎn)類型: 就是該數(shù)值中必須包含一個(gè)小數(shù)點(diǎn),并且小數(shù)點(diǎn)后面必須至少有一位數(shù)字
var b = 3.8; var b = 0.8; var b = .8; //有效,但不推薦此寫法
由于保存浮點(diǎn)數(shù)值需要的內(nèi)存空間比整型數(shù)值大兩倍,因此 ECMAScript
會(huì)自動(dòng)將可以 轉(zhuǎn)換為整型的浮點(diǎn)數(shù)值轉(zhuǎn)成為整型。
var a = 8. ; console.log(a); //小數(shù)點(diǎn)后面沒有值,轉(zhuǎn)換為 8 var b = 12.0 ; console.log(b); //小數(shù)點(diǎn)后面是 0,轉(zhuǎn)成為 12
對(duì)于那些過大或過小的數(shù)值,可以用科學(xué)技術(shù)法來表示(e 表示法)。用 e 表示 該數(shù)值的前面 10 的指數(shù)次冪。
var box = 4.12e9 ? //即 4120000000 var box = 0.000000124; //即 1.24e-7
浮點(diǎn)數(shù)值的范圍在:Number.MIN_VALUE ~ Number.MAX_VALUE 之間, 如果 數(shù)值超過了JavaScript的Number所能表示的最大值或最小值,那么就先出現(xiàn) Infinity(正無窮)或-Infinity(負(fù)無窮)。
var num=12/0 // Infinity var num=-12/0 // -Infinity
NaN, 即非數(shù)值(Not a Number)是一個(gè)特殊的值 ,當(dāng)無法計(jì)算結(jié)果時(shí)用NaN表示
var b = 0/0 ; //NaN
ECMAScript 提供了 isNaN()函數(shù),用來判斷這個(gè)值到底是不是 NaN。如果是返回true,如果不是返回false
console.log(isNaN(NaN)); //true console.log(isNaN(25)); //false,25 是一個(gè)數(shù)值 console.log(isNaN("25")); //false,"25"是一個(gè)字符串?dāng)?shù)值,可以轉(zhuǎn)成數(shù)值 console.log(isNaN("Lee")); //true,"Lee"不能轉(zhuǎn)換為數(shù)值 console.log(isNaN(true)); //false true 可以轉(zhuǎn)成成 1
數(shù)值的轉(zhuǎn)換
1.parseInt() 是把string類型或number類型的數(shù)據(jù)轉(zhuǎn)換為整型 parseInt("10.898797"); //返回 10 parseInt(10.898797); //返回 10 2.parseFloat() 是把string類型或number類型的數(shù)據(jù)轉(zhuǎn)換為浮點(diǎn)型(小數(shù)) parseFloat("10.898797"); //返回 10.898797 parseFloat("10.898797"); //返回 10.898797 3.Number.toFixed(x) 把數(shù)字轉(zhuǎn)換為字符串,返回?cái)?shù)據(jù)小數(shù)點(diǎn)后有x位數(shù)字 var num = 5.56789; var n=num.toFixed(2); //"5.57" 四舍五入 4.Number.toPrecision(x) 把數(shù)字轉(zhuǎn)換為字符串,返回?cái)?shù)據(jù)長度為x var num = 13.3714; var n=num.toPrecision(3); //"13.4" 四舍五入 5.Math.round四舍五入 Math.round(3.15) //3 Math.round(3.65) //4 6.Math.ceil 向上取整 Math.ceil(3.15) //4 Math.ceil(3.65) //4 7.Math.floor向下取整 Math.floor(3.15) //3 Math.floor(3.65) //3
String字符串類型,表示一串字符,可以由雙引號(hào)(" ")和單引號(hào)(" ")表示。
var str="hello" ; var str="world" ; 請(qǐng)注意,""或""本身只是一種表示方式,不是字符串的一部分,因此,字符串"hello"只有h,e,l,l,o這5個(gè)字符。
Boolean 布爾類型只有兩個(gè)值:true(真)和 false(假)。
而true一般等于1,false一般等于0。
JavaScript 是區(qū)分大小寫的,True和False或者其他都不是Boolean類型的值。
var flag=true; console.log(typeof flag); //boolean
可以使用轉(zhuǎn)型函數(shù) Boolean(),將一個(gè)值轉(zhuǎn)換為其對(duì)應(yīng)的 Boolean 值
var a = "Hello World!"; var b = Boolean(a); console.log(typeof b);
Boolean 類型的轉(zhuǎn)換規(guī)則: (牢記)
String: 非空字符串為true 空字符串為false Number: 非0數(shù)值為true 0或者NaN為false Object: 對(duì)象不為null則為true null為false Undefined : undefined為false
Undefined 類型的值只有一個(gè),就是undefined。當(dāng)一個(gè)變量被聲明,但未被賦值時(shí),它的值就是undefined,代表未定義。
var num; console.log(typeof num); //undefined //注意: 我們?cè)诙x變量的時(shí)候, 盡可能的不要只聲明,不賦值, 而是聲明的同 時(shí)初始化一個(gè)值。
Null 類型的值只有一個(gè),就是 null。null表示一個(gè)空的對(duì)象。 typeof 操作符檢測(cè) null 會(huì)返回 object。
var b = null; console.log(typeof b); //object
undefined 是派生自 null 的,因此 ECMA--262 規(guī)定對(duì)它們的相等性測(cè)試返回 true, 表示值相等。
console.log(undefined == null); //true
但是兩者的數(shù)據(jù)類型是不一樣的
var b ; var car = null; console.log(typeof b== typeof car) //false
如果定義的變量準(zhǔn)備在將來用于保存對(duì)象,那么最好將該變量初始化為 null 而不是其他值。
var obj=null; obj={}
JavaScript自定義對(duì)象對(duì)象是用花括號(hào)分隔,由一組由鍵(屬性名)-值(屬性值)組成的無序集合,屬性由逗號(hào)分隔,例如:
var obj = { name: "jack", age: 18 };
JavaScript對(duì)象的鍵(屬性名)和值(屬性值)組成。
屬性名是一個(gè)有效的變量名,可以通過.操作符來訪問屬性。
如果屬性名包含特殊字符,就必須用""或者""括起來,訪問這個(gè)屬性也無法使用.操作符,必須用["xxx"]或者["xxx"]來訪問。
屬性值可以是任意的數(shù)據(jù)類型。
訪問對(duì)象屬性的兩種方式
var name=obj.name; var age=obj["age"];
數(shù)組:多個(gè)數(shù)據(jù)元素按一定順序排列的集合
數(shù)組用[]表示,元素之間用","分隔
var array=[1, 1.5,"Hello", null, true]; //數(shù)組可以包括任意數(shù)據(jù)類型。
訪問數(shù)組
通過下標(biāo)索引來獲取和設(shè)置數(shù)組某個(gè)特定的元素。
訪問數(shù)組的元素可以通過索引來訪問,索引的起始值為0:
console.log(array[0]) ; console.log(array[1]) ;
函數(shù)定義方法:
函數(shù)由關(guān)鍵字"function",和函數(shù)名"functionname",和括號(hào)以及花括號(hào)組成:
function functionname (參數(shù)1,參數(shù)2) { //這里寫函數(shù)執(zhí)行的代碼 } function:關(guān)鍵字 function 來聲明函數(shù)。 functionname :函數(shù)名稱 (參數(shù)1,參數(shù)2):(可選)括號(hào)內(nèi)列出函數(shù)的參數(shù),多個(gè)參數(shù)以","分隔 {...}:花括號(hào)之間的代碼是函數(shù)體,由若干語句組成。
函數(shù)的實(shí)例和調(diào)用:
function add(x,y){ var sum=x+y; return sum; } // var result=add(2,3); // alert(result); alert(add(2,3)); 注意:JavaScript 對(duì)大小寫敏感。關(guān)鍵詞 function 必須是小寫的,并且必須以與函數(shù)名稱相同的大小寫來調(diào)用函數(shù) 函數(shù)體語句執(zhí)行到return時(shí),函數(shù)就執(zhí)行完畢,并將結(jié)果返回。 如果沒有return語句,函數(shù)執(zhí)行完畢后也會(huì)返回結(jié)果,只是結(jié)果為undefined。
JavaScript 是弱類型的語言,擁有動(dòng)態(tài)類型,同一個(gè)變量可以賦予不同類型的值。變量的類型在賦值時(shí)才能確定
var b; b=20; b = "張三"; b={}; b=[]; b=function(){ }; console.log(typeof b);運(yùn)算符
算術(shù)運(yùn)算符
+ 加法 x=2+3 5 - 減法 x=5-3 2
/ 除法 x=5/2 2.5
% 求余 x=5 %2 1
++ 自增 var x=3; x++; console.log(x)
-- 自減 var x=3; x--; console.log(x)
前自加:
var x=5;
var num1=++x; // 相當(dāng)于x=x+1; var num1=x;
console.log("num1="+num1+" x="+x); //num1=6 x=6
后自加:
var x=5;
var num2=x++; // 相當(dāng)于 var num2=x; x=x+1;
console.log("num2="+num2+" x="+x); //num2=5 x=6
前自減:
var x=5;
var num3=--x; //相當(dāng)于 x=x-1; var num3=x;
console.log("num3="+num3+" x="+x); //num3=4 x=4
后自減
var x=5;
var num4=x--; //相當(dāng)于 var num4=x; x=x-1;
console.log("num4="+num4+" x="+x); //num4=5 x=4
- 字符串"+" 遇到字符串,用來連接字符串
// 兩個(gè)都是字符串, 直接連接兩個(gè)字符串
var result1="hello"+"world";
console.log(result1); //helloworld
console.log(typeof result1);
//如果其中有一個(gè)是字符串, 另一個(gè)是其他類型, 則會(huì)先將其他的類型強(qiáng)制轉(zhuǎn)換成字符,然后再連接
var result2="hello"+2;
console.log(result2); //hello2
console.log(typeof result2);
####二進(jìn)制, 八進(jìn)制, 十進(jìn)制, 十六進(jìn)制(擴(kuò)展) 進(jìn)制: 在計(jì)算機(jī)處理器內(nèi)部只認(rèn)識(shí)二進(jìn)制, 在內(nèi)存存儲(chǔ)的數(shù)據(jù)其實(shí)就是大量的開關(guān), 每個(gè)開關(guān),可以存儲(chǔ)一個(gè)1或0,稱為一位(1bit),每八位稱為1字節(jié)(1byte)
1byte = 8位 1KB = 1024byte 1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
..1PB, 1EB
1位 : 是二進(jìn)制的0或者1
例如: 十進(jìn)制的23在內(nèi)存中存儲(chǔ)的是二進(jìn)制10111 23 --> 10111 00000000 00000000 00000000 00010111(內(nèi)存中存儲(chǔ)的23) **進(jìn)制:**
二進(jìn)制: 0, 1 (0~1)
八進(jìn)制: 0, 1, 2, 3, 4, 5, 6, 7 (0~7)
十進(jìn)制: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (0~9)
十六進(jìn)制: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (0~15)
>常用值: 2的次方 2^2 = 4 2^3 = 8 2^4 = 16 2^5 = 32 2^6 = 64 2^7 = 128 2^8 = 256 2^9 = 512 2^10 = 1024 2^11 = 2048 **進(jìn)制轉(zhuǎn)換:** 2進(jìn)制 :101011 轉(zhuǎn)10進(jìn)制: (從右往左)1*2^0 + 1*2^1 + 0*2^2 + 1*2^3 +0*2^4 + 1*2^5 = 1+2+0+8+0+32 = 43 轉(zhuǎn)8進(jìn)制: (從右往左3個(gè)一組 101 011): 1*2^0+0+1*2^2 1*2^0+1*2^1+0 = 53 轉(zhuǎn)16進(jìn)制: (從右往左4個(gè)一組 0010 1011): 1*2^1 1*2^0+1*2^1+0+1*2^3 = 2B 10進(jìn)制: 43 轉(zhuǎn)2進(jìn)制: 32+8+2+1 = 101011 轉(zhuǎn)8進(jìn)制: 40+3 = 53 轉(zhuǎn)16進(jìn)制: 32+11 = 2B **其他的方法:** !["轉(zhuǎn)2進(jìn)制"](img/j1.jpg "轉(zhuǎn)2進(jìn)制") !["轉(zhuǎn)8進(jìn)制"](img/j3.jpg "轉(zhuǎn)8進(jìn)制") !["轉(zhuǎn)16進(jìn)制"](img/j2.jpg "轉(zhuǎn)16進(jìn)制") 8進(jìn)制: 53 轉(zhuǎn)10進(jìn)制: 3*8^0+5*8^1 = 43 16進(jìn)制: 2B 轉(zhuǎn)10進(jìn)制: 11*16^0+2*16^1 = 32+11 = 43 8進(jìn)制和16進(jìn)制轉(zhuǎn)非10進(jìn)制,可以先轉(zhuǎn)換成10進(jìn)制,再由10進(jìn)制轉(zhuǎn) 8進(jìn)制的53轉(zhuǎn)16進(jìn)制: 8進(jìn)制轉(zhuǎn)10進(jìn)制: 3*8^0+5*8^1 = 43 43轉(zhuǎn)16進(jìn)制: 32+11 = 2B
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/100605.html
摘要:資源不斷更新中。。。主頁前端工具簡(jiǎn)介雖然不是第一個(gè)任務(wù)執(zhí)行工具,它卻很快成為了最受歡迎的。官方網(wǎng)站網(wǎng)易框架是網(wǎng)易推出的開源前端框架,提供了豐富代碼庫和插件,可以極大的幫助開發(fā)人員提高開發(fā)效率。 資源不斷更新中。。。 動(dòng)畫庫1.Animate.css說明:一個(gè)簡(jiǎn)單易用的跨瀏覽器CSS動(dòng)畫庫。GitHub主頁: https://github.com/daneden/an... 2.CSSh...
摘要:資源不斷更新中。。。主頁前端工具簡(jiǎn)介雖然不是第一個(gè)任務(wù)執(zhí)行工具,它卻很快成為了最受歡迎的。官方網(wǎng)站網(wǎng)易框架是網(wǎng)易推出的開源前端框架,提供了豐富代碼庫和插件,可以極大的幫助開發(fā)人員提高開發(fā)效率。 資源不斷更新中。。。 動(dòng)畫庫1.Animate.css說明:一個(gè)簡(jiǎn)單易用的跨瀏覽器CSS動(dòng)畫庫。GitHub主頁: https://github.com/daneden/an... 2.CSSh...
摘要:誕生于年,它的主要目的是處理以前由服務(wù)器端語言負(fù)責(zé)的一些輸入驗(yàn)證操作。的不同版本又稱為版次,以第版表示。目前最新的是簡(jiǎn)稱文檔對(duì)象模型文檔對(duì)象模型,是針對(duì)但經(jīng)過拓展用于的應(yīng)用程序接口,。元素當(dāng)瀏覽器不支持或被禁用時(shí),顯示里面的內(nèi)容。 JavaScript誕生于1995年,它的主要目的是處理以前由服務(wù)器端語言負(fù)責(zé)的一些輸入驗(yàn)證操作。 完整的JavaScript實(shí)現(xiàn)由下列三個(gè)不同的部分組成:...
摘要:簡(jiǎn)介簡(jiǎn)史誕生于年,當(dāng)時(shí)主要負(fù)責(zé)表單的輸入驗(yàn)證。實(shí)現(xiàn)一個(gè)完整的由三部分組成核心文檔對(duì)象模型瀏覽器對(duì)象模型就是對(duì)實(shí)現(xiàn)該標(biāo)準(zhǔn)規(guī)定的各個(gè)方面內(nèi)容的語言的描述。把整個(gè)頁面映射為一個(gè)多層節(jié)點(diǎn)結(jié)構(gòu)。由萬維網(wǎng)聯(lián)盟規(guī)劃。主要目標(biāo)是映射文檔的結(jié)構(gòu)。 JavaScript簡(jiǎn)介 JavaScript簡(jiǎn)史 JavaScript誕生于1995年,當(dāng)時(shí)主要負(fù)責(zé)表單的輸入驗(yàn)證。 如果沒有表單驗(yàn)證的功能,填入信息之...
閱讀 4167·2022-09-16 13:49
閱讀 1407·2021-11-22 15:12
閱讀 1529·2021-09-09 09:33
閱讀 1047·2019-08-30 13:15
閱讀 1732·2019-08-29 15:30
閱讀 665·2019-08-27 10:52
閱讀 2649·2019-08-26 17:41
閱讀 1904·2019-08-26 12:11