01知識點(diǎn)
JavaScript 代碼運(yùn)行在瀏覽器(后綴名.js)
和java完全不同的東西,只是名稱類型而已
src 引用腳本
<Script></Script>
alert(123);彈出對話框
var(不知道的 )和c#完全不一樣
語法:
大小寫敏感
弱類型語言:不指定占用多少內(nèi)存,運(yùn)行的時候知道
分號結(jié)束
注釋(單行,多行)
字符串推薦使用單引號,也可以用雙引號
定義方法:
/創(chuàng)建時間對象
//var time = new Date();
////
//alert(time.toString());
//alert(time.toLocaleString());
//alert(time.getHours());
//alert(time.getTime())
數(shù)據(jù)類型
boolean 布爾
number 數(shù)字
string 字符串
Undefined 未定義
Object 對象類型
Null 空對象, 被定義,沒有指向?qū)ο蟮闹?/span>
Undefined和Null:都是只有一個值的數(shù)據(jù)類型,分別Underfined和Null
實(shí)例講解:
var a1;
alert(a1);
顯示Undefined(聲明后,沒有初始化)(什么都沒有)
var a1;
a1=null;
alert(a1);
顯示null(指向null值時,當(dāng)前變量為null)
typeof變量名或typeof(變量名)
var a1;
alert(typeof(a1));
返回a1類型:undefined
var a1;
a1=null;
alert(typeof(a1));
返回a1類型:object
類似轉(zhuǎn)換
var a2=‘100’;
alert(a2+1);拼接
alert(parseint(a2)+1);轉(zhuǎn)換整數(shù),算數(shù)運(yùn)算
雙等號==判斷是否相等
===既要判斷類型,值是否相同
判斷變量是否可用
先判斷是否為undefined 在判斷是否為null,否則可用
返回undefined 如果 temp==null 返回不可用
Undefined 未定義
Null 空對象, 被定義,沒有指向?qū)ο蟮闹?br>
返回object
判斷是否是一個數(shù)字類型
var temp2='123';
alert(isNaN(temp2))
返回:fale
var temp = 'abcfg';
alert(isNaN(temp));
var temp = '我是?';
alert(isNaN(temp));
都是返回 true
eval(‘a(chǎn)lert(“abc”);’);將一段字符串當(dāng)作js代碼執(zhí)行
//應(yīng)用場景:當(dāng)從文本框中獲取值時,得到的是字符串,如果希望那段字符串當(dāng)作js執(zhí)行,則使用eval()方法
調(diào)試:
已瀏覽器中調(diào)試(必須一款瀏覽器熟練調(diào)試)
元素(element)
sources(源代碼)
下一步F10
內(nèi)部F11
F8往后走,直接顯示答案,跳出循環(huán)
Console也可以看值
for (var i = 0; i < 10; i++)
{
document.write(i);
}
C#方法重載:在同一個類中,方法名相同,參數(shù),類型可以不同
js不支持方法重載(不存在),后聲明的函數(shù),會覆蓋先聲明的函數(shù)
舉例 (C#頂一個方法:修飾符,返回值類型,方法名(參數(shù)列表){。。。})
function add(a,b,c)//關(guān)鍵字 方法名(參數(shù))
{
alert(a + b + c);//方法體
return a + b + c;//返回值
}
add(1, 2, 3);//調(diào)用方法
arguments獲取所有參數(shù),是一個參數(shù)的數(shù)組
arguments.Length 數(shù)數(shù)組個數(shù)
匿名函數(shù)
定義一個匿名函數(shù),賦值給一個變量
var f1=function(a,b)
{
alert(a+b);
}
f1(1,2);
典型應(yīng)用:
根據(jù)id獲取頁面的元素,把他綁定點(diǎn)擊事件
getElementById():方法可返回對擁有指定 ID 的第一個對象的引用。
onclick 事件會在對象被點(diǎn)擊時發(fā)生。
閉包:參數(shù)備注代碼
閉包:支持在函數(shù)內(nèi)部調(diào)用函數(shù)之前聲明過的邊量
作用域鏈:變量的作用域在當(dāng)前的函數(shù)中,及當(dāng)前函數(shù)內(nèi)部定義的函數(shù)中形成了一個鏈條
建議:避免閉包,每次再用一個變量時,都要先聲明在使用,因?yàn)闀屪兞吭趦?nèi)存中長期存在,無法釋放
模擬面向?qū)ο螅?/p>
定義:
為類增加對象成員:
步驟:類,屬性,方法,構(gòu)造方法,創(chuàng)建對象,調(diào)用方法
原型:所在對象的類型
類的類型就是原型
集合,數(shù)組
var temp=[{title:'zhang',
age: 18
}, { title: '你好', age: 23 }, { title: '張三', age: 34 }];
for (var index in temp)
{
document.write(temp[index].title);
}
重點(diǎn):
語法:弱語言
數(shù)據(jù)類型:類型轉(zhuǎn)換(判斷,typeof)
函數(shù)定義(function,不支持重載,匿名函數(shù),)
調(diào)試
模擬面向?qū)ο?/div>
字符串
集合,數(shù)組,鍵值對(可以理解為json)
內(nèi)置成員:Date,string() (用的比較多)
了解
閉包:避免閉包,主要作用是類的定義
原型:對象的類型