A我今天學習到了的
JavaScript簡介
誕生的背景
1995年網(wǎng)景公司開發(fā)的
開發(fā)目的:受制于當時的帶寬,做表單驗證
97年被提交給ECMA,98年獲取ISO認證
功能
a.數(shù)據(jù)處理
b.用戶交互
c.服務器端開發(fā)
JavaScript組成
Paste_Image.png
JavaScript語法
1.變量
什么是變量? 從字面上看崖咨,變量是可變的量;
從編程角度講偏序,JavaScript變量是存儲數(shù)據(jù)值的容器勤篮。
如何使用:聲明 賦值 取值
//var a;使用var關鍵字進行聲明
//= 使用等于號進取賦值
2.數(shù)據(jù)類型的分類
基本類型
2.1原始類型:number,string,boolean,undefined,null
a.number
var a =10,b=20.1;
b.string
//用單引號或雙引號包裹的叫string類型
var c= “hello world”;
var c = 'good';
c.boolean
//只有兩個值true或false
d.undefined
var a;
//一個變量之聲明未賦值就是undefined
使用typeof操作符來識別基本類型
引用類型
2.2 引用數(shù)據(jù)類型:array,object,function
a.array
a1.聲明變量
var arr = [1,2,3,4]
a2.獲取數(shù)組的長度
arr.length
a3.讀取數(shù)組的值(數(shù)組的下標從0開始)
arr[index]
a4.向數(shù)組的末尾添加值
arr[arr.length]=5;
//css
// 基本類型
var a=10;
console.log(a)
var b=10.1;
var c="hello world";
var d='good';
var e=true;
Number(true)//1
Number(false)//0
console.log(Number(true))
console.log(typeof e)
// 引用類型
var arr=[1,2,3,4]
var len=arr.length;
console.log(len);
arr[arr.length]=5;
console.log(arr)
function a(){
console.log("nihao")
}
b.object
b1.聲明對象
var chengchao = {
name:”chengchao”,
age:20
}
b2.讀取變量的屬性
console.log(chengchao.name);
c.function
定義:封裝特點功能的代碼塊
c1.聲明函數(shù)
function a(){
console.log(“hello world”)
}
c2.調(diào)用函數(shù)
a();
3.聲明提前
在正式執(zhí)行腳本之前预鬓,將所有var聲明的變量,提前預讀到(當前作用域的)頂部,集中聲明創(chuàng)建伶椿。
然后再開始執(zhí)行程序再芋。
***賦值留在本地菊霜。
eg:
console.log(a);
var a=10;
4.全局變量和局部變量
全局變量:在函數(shù)外聲明的變量
局部變量:在函數(shù)內(nèi)部聲明的變量
5.數(shù)據(jù)類型的轉(zhuǎn)換
強制轉(zhuǎn)換
任意-->數(shù)字:Number();
Number(true) //1;
Number(false) //0;
//只能識別數(shù)值的字符串
var a = "20";
var b = "hello world";
console.log(Number(a));// 20;
console.log(Number(b)); //NaN
任意-->數(shù)字:3個API
a.非字符串類型轉(zhuǎn)數(shù)字
Number(x)
eg:
var a ="20";
console.log(Number(a)) //只能識別這樣的字符串
b. 將字符串轉(zhuǎn)為數(shù)字:2個API
parseInt(str):
從第一個字符開始依次讀取每個數(shù)字,只要碰上第一個非數(shù)字字符就停止,自動跳過開頭的空字符
***不識別小數(shù)點
何時使用:將字符串轉(zhuǎn)為整數(shù)時
var width="20px";
console.log(Number(width)) //NaN
console.log(parseInt(width)) //20
parseFloat(str):用法同parseInt
比較Number()和parseInt()
var b=true;
console.log(Number(b)) //1
console.log(parseInt(String(b))) //NaN
任意-->字符串:2個API
x.toString(); x不是undefined或null時,才可用
String(x)
任意類型-->Boolean: Boolean(x)
只有5個值轉(zhuǎn)為false:
"" NaN undefined null 0
其余都轉(zhuǎn)為true
自動轉(zhuǎn)換
自動轉(zhuǎn)換 不需要程序員干預济赎,js自動完成的類型轉(zhuǎn)換
算數(shù)計算中的自動轉(zhuǎn)換:
A.算數(shù)計算中鉴逞,數(shù)據(jù)都默認轉(zhuǎn)為數(shù)字,再計算,不能轉(zhuǎn)為數(shù)字則為NaN
Boolean類型:true-->1 false-->0
eg:
var a=1;
var b=true;
var c = "hello world";
console.log(a+b); //2
console.log(a-c); //NaN
B.特殊+運算中司训,碰到字符串构捡,+就變?yōu)樽址唇? 另一個不是字符串的數(shù)據(jù),被自動轉(zhuǎn)為字符串
關系運算(>,<,>=,<=,==,!=)中的自動轉(zhuǎn)換:
默認將所有類型轉(zhuǎn)為數(shù)字再比較
將兩個值做比較-->返回值:true壳猜、false
6.運算符和表達式
算術運算
+,-,*,/,%,++,--
關系運算
關系運算:將兩個值做比較-->返回值:true勾徽、false
>,<,>=,<=,==,!=
***關系運算中:
a. 默認將所有類型轉(zhuǎn)為數(shù)字再比較
特殊情況
A.NaN:NaN不等于,不大于统扳,不小于任何值(包括自己)
NaN和任何數(shù)據(jù)做!=比較時喘帚,始終返回true
isNaN(n):本意是判斷一個值是否是NaN
邏輯運算
邏輯運算:將多個關系運算綜合起來畅姊,得出最終結(jié)論,返回值:true吹由、false
&& || !
賦值運算
+= -= *= /= %=
三目運算
var a=(10>4)?10:4若未;
B我掌握了的
JavaScript簡介
誕生的背景
1995年網(wǎng)景公司開發(fā)的
開發(fā)目的:受制于當時的帶寬,做表單驗證
97年被提交給ECMA,98年獲取ISO認證
功能
a.數(shù)據(jù)處理
b.用戶交互
c.服務器端開發(fā)
JavaScript組成
Paste_Image.png
JavaScript語法
1.變量
什么是變量? 從字面上看,變量是可變的量溉知;
從編程角度講陨瘩,JavaScript變量是存儲數(shù)據(jù)值的容器。
如何使用:聲明 賦值 取值
//var a;使用var關鍵字進行聲明
//= 使用等于號進取賦值
2.數(shù)據(jù)類型的分類
基本類型
2.1原始類型:number,string,boolean,undefined,null
a.number
var a =10,b=20.1;
b.string
//用單引號或雙引號包裹的叫string類型
var c= “hello world”;
var c = 'good';
c.boolean
//只有兩個值true或false
d.undefined
var a;
//一個變量之聲明未賦值就是undefined
使用typeof操作符來識別基本類型
引用類型
2.2 引用數(shù)據(jù)類型:array,object,function
a.array
a1.聲明變量
var arr = [1,2,3,4]
a2.獲取數(shù)組的長度
arr.length
a3.讀取數(shù)組的值(數(shù)組的下標從0開始)
arr[index]
a4.向數(shù)組的末尾添加值
arr[arr.length]=5;
//css
// 基本類型
var a=10;
console.log(a)
var b=10.1;
var c="hello world";
var d='good';
var e=true;
Number(true)//1
Number(false)//0
console.log(Number(true))
console.log(typeof e)
// 引用類型
var arr=[1,2,3,4]
var len=arr.length;
console.log(len);
arr[arr.length]=5;
console.log(arr)
function a(){
console.log("nihao")
}
b.object
b1.聲明對象
var chengchao = {
name:”chengchao”,
age:20
}
b2.讀取變量的屬性
console.log(chengchao.name);
c.function
定義:封裝特點功能的代碼塊
c1.聲明函數(shù)
function a(){
console.log(“hello world”)
}
c2.調(diào)用函數(shù)
a();
3.聲明提前
在正式執(zhí)行腳本之前级乍,將所有var聲明的變量舌劳,提前預讀到(當前作用域的)頂部,集中聲明創(chuàng)建玫荣。
然后再開始執(zhí)行程序甚淡。
***賦值留在本地。
eg:
console.log(a);
var a=10;
4.全局變量和局部變量
全局變量:在函數(shù)外聲明的變量
局部變量:在函數(shù)內(nèi)部聲明的變量
C我沒有掌握了的
還有的沒有交捅厂,也沒有練習贯卦,不怎么會