相關(guān)概念
JavaScript一種直譯式腳本語言它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)網(wǎng)頁上使用,用來給HTML網(wǎng)頁增加動(dòng)態(tài)功能。
Node是一個(gè)Javascript運(yùn)行環(huán)境(runtime)。實(shí)際上它是對(duì)Google V8引擎進(jìn)行了封裝。V8引 擎執(zhí)行Javascript的速度非常快,性能非常好。Node對(duì)一些特殊用例進(jìn)行了優(yōu)化,提供了替代的API,使得V8在非瀏覽器環(huán)境下運(yùn)行得更好。
作用:
- 嵌入動(dòng)態(tài)文本于HTML頁面。
- 對(duì)瀏覽器事件做出響應(yīng)(點(diǎn)擊,滑動(dòng),鍵盤輸入)。
- 讀寫HTML元素(添加,修改,刪除)。
- 在數(shù)據(jù)被提交到服務(wù)器之前驗(yàn)證數(shù)據(jù)。
- 檢測(cè)訪客的瀏覽器信息。
- 控制cookies,包括創(chuàng)建和修改等。
- 基于Node.js技術(shù)進(jìn)行服務(wù)器端編程。[6]
- 基礎(chǔ)語法
- 調(diào)試
- alert(內(nèi)容) 在彈窗顯示內(nèi)容
- console.log(內(nèi)容) 開發(fā)者工具console下查看內(nèi)容,IE,safari不支持
- 定義變量
- var 變量名 = 變量值,var可省略
- 注釋
- //
- /* */
- 數(shù)據(jù)類型
- number 所有數(shù)字
- object 對(duì)象類型 JS中array[ ],dict{ }也都是object類型
- string 字符串類型 用雙引號(hào)" "或者單引號(hào)' '(建議用單引號(hào))
- 字符串拼接
var str = '我是' + '小學(xué)生';
- 字符串拼接
- function 函數(shù)類型
- 定義函數(shù)
function 函數(shù)名(形參){
函數(shù)體
return 返回值
}
函數(shù)內(nèi)部有一個(gè)數(shù)組arguments用于保存?zhèn)鬟M(jìn)來的參數(shù),所以形參表可以為空。需要調(diào)用參數(shù)時(shí),直接在arguments里取
- 定義類
function run(){...}
var person = {
age = 10;
name = '小明'
walk = run;
//或者walk = function(){console.log(this.name + this.age + '歲')};
}
person.walk();
window
window.location.href:修改瀏覽器顯示頁面
所有的全局變量和全局屬性都是window的屬性this
(默認(rèn)情況下)在對(duì)象函數(shù)中,this代表當(dāng)前對(duì)象,否則,this代表windowDocument
document代表整個(gè)網(wǎng)頁,iOS開發(fā)中的JS重點(diǎn)就在document
相關(guān)函數(shù)
document.getElementByID();//通過ID屬性
document.getElementName();//通過Name屬性
document.getElementClassName();//通過class屬性
document.getElementTagName();//通過標(biāo)簽名
- JS中的閉包
<script>
window.onload = function(){
function anyFunc(){
//do something
}
//do something
}
</script>
- 匿名執(zhí)行函數(shù)
<script>
;(function (){//前面加分號(hào)的作用是防止被別人的代碼污染
//匿名執(zhí)行函數(shù)
var name = 1;//這個(gè)寫法的意義在于防止全局變量污染
var age = 10;
window.onload = function(){
function anyFunc(){
//do something
}
//do something
}
}());
</script>
- iOS開發(fā)中的JS應(yīng)用
//利用webView執(zhí)行JS代碼
[webView stringByEvaluatingJavaScriptFromString:(nonnull NSString *)];
//webView每次發(fā)url請(qǐng)求都會(huì)調(diào)用該方法
//在url上拼接參數(shù)后在該方法中截取,可以實(shí)現(xiàn)取到圖片路徑等元素,調(diào)用相冊(cè)保存等功能
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType