欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript學(xué)習(xí)筆記記錄我的旅程

 更新時間:2012年05月23日 22:16:40   作者:  
JavaScript和Java沒有直接的關(guān)系,唯一的關(guān)系就是JavaScript原名LiveScript,后來吸取了Java的一些特性,升級為JavaScript,JavaScript有時被簡稱為JS

1、什么是JavaScript?
(1) HTML只是描述網(wǎng)頁長相的標(biāo)記語言,沒有計算,判斷能力,如果所有計算,判斷(比如判斷文本框是否為空,判斷兩次密碼是否輸入一致)店鋪放到服務(wù)器端執(zhí)行的話網(wǎng)頁的頁面會非常的慢,用起來也很難用,對服務(wù)器的壓力也很大,因此要求能在瀏覽器中執(zhí)行一些簡單的運(yùn)算,判斷,JavaScript就是一種在瀏覽器端執(zhí)行的語言。
(2) JavaScript和Java沒有直接的關(guān)系,唯一的關(guān)系就是JavaScript原名LiveScript,后來吸取了Java的一些特性,升級為JavaScript,JavaScript有時被簡稱為JS。
(3) JavaScript是解釋性語言,無需編譯就可以隨時執(zhí)行,這樣哪怕語法有錯誤,沒有語法錯誤的部分還是能夠正確的執(zhí)行。
JS的開發(fā)環(huán)境
(1) VS中JavaScript,Jqery的自動完成功能。
(2) JS是非常靈活的動態(tài)語言,不像C#等靜態(tài)語言那樣嚴(yán)謹(jǐn)。
JS入門
(1)

復(fù)制代碼 代碼如下:

<script type="text/javascript">
alert(new Date().toLocaleDateString());
</script>

(2) JavaScript代碼放到<script>標(biāo)簽中,<script>可以放到<head>,<body>等任意位置,而且可以有不止一個<script>標(biāo)簽。alert函數(shù)是彈出消息窗口,new Date()是創(chuàng)建一個Date類的對象,默認(rèn)值就是當(dāng)前的時間。
(3) 放到<head>中的<script>在body加載之前就已經(jīng)運(yùn)行了,寫在body中的<script>是隨著頁面的加載而一個個的執(zhí)行的。
(4) 除了可以再頁面中聲明JavaScript之外,還可以將JavaScript寫在單獨的JS文件中,然后在頁面中引入:<script src=”common.js” type=”text/javascript”></script>。聲明到單獨的JS文件的好處是多頁面也可以共享,減少網(wǎng)絡(luò)流量。
事件
(1) <a href="javascript:alert('Hello')">點擊我</a>
<a href="javascript:void(0)">我就不彈出東西</a><br />
<a href="JSoop.htm" onclick="alert('您確認(rèn)你要跳轉(zhuǎn)嗎?')">單擊我</a>
(2) JavaScript中也有事件的概念,當(dāng)按鈕被點擊的時候
1) <input type="button" value="單擊我" onclick="alert('終于單擊我了')" />
2) 只有超鏈接的href中的JavaScript中才需要”JavaScript:”,因為他不是事件,而是把”JavaScript:'看成像”http:”,”ftp:”,”thunder://”,ed2k://,mailto://一樣的網(wǎng)絡(luò)協(xié)議,交由JS解析引擎處理,只有href中這一個特列。
JS變量
(1) JavaScript中既可以使用雙引號聲明字符串,也可以使用單引號聲明字符串,主要是方便和HTML集成,避免轉(zhuǎn)義符的麻煩。
(2) var i=10; //聲明一個變量,名字為i,指向10這個整數(shù),一旦指向10,i就是int類型, alert(i);
(3) JavaScript中有null,underfined兩種,null表示變量的值為空,underfined則表示變量還沒有指向任何的對象,未初始化。
(4) JavaScript是弱類型,表示變量的時候無法:int i=10.只能通過var i=10;聲明變量,和C#中的var不一樣,不是C#中的那樣的類型推斷。
(5) JavaScript中也可以不用var聲明變量,直接用,這樣的變量是”全局變量”,因此除非確實想用全局變量,否則使用的時候最好加上var。
(6) JS是動態(tài)類型的,因此var i=10;i=”abc”是合法的。
JavaScript
(1)
復(fù)制代碼 代碼如下:

var sum = 0;
for (var i = 0; i <= 100; i++) {
sum = sum + i;
}
alert(sum);

(2) 如果JavaScript中的代碼有語法錯誤,瀏覽器會彈出報錯信息,查看報錯信息就能幫助排查錯誤。
(3) JavaScript的調(diào)試,使用VS可以很方便的進(jìn)行JavaScript的調(diào)試,調(diào)試時需要注意幾點:
1) IE的調(diào)試選項要打開,Internet選項-高級,去掉”禁用腳本調(diào)試”前的勾選。
2) 以調(diào)試方式運(yùn)行界面。
3) 設(shè)置斷點,監(jiān)視變量等操作和C#一樣。
判斷變量初始化
(1) JavaScript中判斷變量,參數(shù)是否初始化的三種方法。
復(fù)制代碼 代碼如下:

var r;
if (r == null) { if (typeof (r) == "undefined") { if (!x) {
alert("null"); alert("undefined"); alert("不X");
}
}
}

注:推薦用最后一種方法
函數(shù)的聲明
(1) JavaScript中聲明函數(shù)的方法:
復(fù)制代碼 代碼如下:

function Add(i1, i2) {
return i1 + i2;
}

(2) 不需要聲明返回值類型,參數(shù)類型,函數(shù)定義以function開頭
復(fù)制代碼 代碼如下:

var r = Add(10, 20);
alert(r);
var r = Add("tom,", "您好");
alert(r);

(3) JavaScript中不像C#中那樣要求所有路徑都有返回值。
匿名函數(shù)
(1)
復(fù)制代碼 代碼如下:

var f1 = function sum(i1, i2) {
return i1 + i2;
}
alert(f1(10, 20));

(2) 類似于C#中的匿名函數(shù)。
(3) 這種匿名的用法在Jquery中用法特別多。
(4)
復(fù)制代碼 代碼如下:

alert(function sum(i1, i2) {
return i1 + i2;
} (100, 10));

注解:C#中匿名函數(shù)使用委托來調(diào)用。
JS面向?qū)ο蠡A(chǔ)
(1) JavaScript中沒有類的語法,是用函數(shù)閉包(closure)模擬出來的,下面講解的時候還是用C#中的類,構(gòu)造函數(shù)等概念,JavaScript中string,date等”類”都被叫做”對象”,JavaScript中聲明類(類不是類,是對象)。
(2)
復(fù)制代碼 代碼如下:

function Person(name, age) { //聲明一個函數(shù),當(dāng)成類用
this.Name = name;
this.Age = age;
this.SayHello = function () {
alert("你好,我是" + this.Name + ",我今年:" + this.Age + "歲了");
}
}
var p1 = new Person("韓迎龍", "23");
p1.SayHello();

(3) 必須要聲明類名,function Person(name,age)可以看做是聲明構(gòu)造函數(shù),Name,Age這些屬性也是使用者動態(tài)添加了。
Array()對象
(1) JavaScript中的Array對象就是數(shù)組,首先是一個動態(tài)數(shù)組,而且是一個像C#中數(shù)組ArrayList,Hashtable等的超強(qiáng)綜合體。
(2)
復(fù)制代碼 代碼如下:

var names = new Array();
names[0] = "韓迎龍";
names[1] = "得到";
names[2] = "說的";
for (var i = 0; i < names.length; i++) {
alert(names[i]);
}

(3) 無需預(yù)先制定大小,動態(tài)。
Array()練習(xí)1
(1) Array練習(xí),求出一個數(shù)組中的最大值。
復(fù)制代碼 代碼如下:

<script type="text/javascript">
function MyMax(arr) {
var max = arr[0];
for (var i = 0; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
} }
return max;
}
var arr = new Array();
arr[0] = 20;
arr[1] = 10;
arr[2] = 34;
alert(MyMax(arr));
</script>

Array()練習(xí)2
(1) 將一個字符串?dāng)?shù)組的元素的順序進(jìn)行反轉(zhuǎn),{3,9,5,34,54}{54,34.5.9.3}。不要使用JavaScript中的反轉(zhuǎn)函數(shù),提示:第i個和第length-i-1進(jìn)行交換,定義函數(shù)。
復(fù)制代碼 代碼如下:

<script type="text/javascript">
function MyReverse(arr) {
for (var i = 0; i < arr.length / 2; i++) {
var temp = arr[i];
arr[i] = arr[arr.length - i - 1];
arr[arr.length - i - 1] = temp;
}
}
var arr = new Array();
arr[0] = "3";
arr[1] = "9";
arr[2] = "5";
arr[3] = "34";
arr[4] = "54";
alert(arr);
MyReverse(arr);
alert(arr);

Array()練習(xí)3
(1) 將一個字符串?dāng)?shù)組輸出為|分割的形式,比如:韓迎龍|試試|訂單。不要使用JavaScript中的Join函數(shù),arr.join(1)將數(shù)組用分割符鏈接成一個字符串。
復(fù)制代碼 代碼如下:

<script type="text/javascript">
function MyJoin(arr) {
if (arr.length <= 0) {
return;
}
var s = arr[0];
for (var i = 1; i < arr.length; i++) {
s = s + "|" + arr[i];
}
return s;
}
var arr = new Array();
arr[0] = "韓迎龍";
arr[1] = "試試";
arr[2] = "訂單";
alert(MyJoin(arr));
//第二種方法
alert(arr.join("|"));
</script>

Array的字典用法
(1) JS中的Array是一個寶貝,不僅是一個數(shù)組,還是一個Dictionary,還是一個Stack。
(2)
復(fù)制代碼 代碼如下:

var names = new Array();
names["人"] = "ren";
names["扣"] = "kou";
names["手"] = "shou";
alert(names["人"]);
alert(names.人);
for (var k in names) {
alert(k);
}

(3) 像Hashtable,Dictionary那樣用,而且像他們一樣的效率高。
Array()的簡化聲明
(1) Array還可以有簡化的方式
var arr=[3,4,5,6,7]; //普通數(shù)組初始化
這種數(shù)組可以看做是names[“人”]=”ren”;的特例,也就是key為0,1,2,3,4,5
(2) 字典風(fēng)格的簡化創(chuàng)建方式
var arr={”tom”=30,”jim=”30};
數(shù)組,for和其它
(1) 對于數(shù)組風(fēng)格的Array來說,可以使用join方法拼接為字符串。
復(fù)制代碼 代碼如下:

var arr = ["tom", "jim", "kencery"];
alert(arr.join(",")); //JS中join是array的方法,不像.net中是string的方法

(2) for循環(huán)可以像C#中的foreach一樣的使用。
復(fù)制代碼 代碼如下:

for (var e in document) {
alert(e);
}

相關(guān)文章

  • JavaScript對HTML DOM使用EventListener進(jìn)行操作

    JavaScript對HTML DOM使用EventListener進(jìn)行操作

    這篇文章主要介紹了JavaScript對HTML DOM使用EventListener進(jìn)行操作的方法,用于向HTML元素中添加事件,需要的朋友可以參考下
    2015-10-10
  • javascript的delete運(yùn)算符知識點總結(jié)

    javascript的delete運(yùn)算符知識點總結(jié)

    在本篇文章里小編給大家分享的是關(guān)于JS中delete運(yùn)算符的基礎(chǔ)知識點,有需要的朋友們跟著學(xué)習(xí)下。
    2019-11-11
  • Three.js源碼閱讀筆記(Object3D類)

    Three.js源碼閱讀筆記(Object3D類)

    Object3D似乎是Three.js框架中最重要的類,相當(dāng)一部分其他的類都是繼承自O(shè)bject3D類,比如場景類、幾何形體類、相機(jī)類、光照類等等:他們都是3D空間中的對象,所以稱為Object3D類,需要了解的朋友可以參考下
    2012-12-12
  • 詳解JavaScript實現(xiàn)設(shè)計模式中的適配器模式的方法

    詳解JavaScript實現(xiàn)設(shè)計模式中的適配器模式的方法

    適配器模式可以根據(jù)需求轉(zhuǎn)換(或調(diào)整)一個接口,創(chuàng)建含有您所需接口的另一個對象,并將它連接到您想改變接口的對象,從而完成這種轉(zhuǎn)換,下面就來詳解JavaScript實現(xiàn)設(shè)計模式中的適配器模式的方法
    2016-05-05
  • javascript 基礎(chǔ)簡介 適合新手學(xué)習(xí)

    javascript 基礎(chǔ)簡介 適合新手學(xué)習(xí)

    在網(wǎng)絡(luò)或書籍所說的JavaScript大部分指客戶端JavaScript。
    2009-09-09
  • 在JavaScript中操作數(shù)組之map()方法的使用

    在JavaScript中操作數(shù)組之map()方法的使用

    這篇文章主要介紹了在JavaScript中操作數(shù)組之map()方法的使用,是JS入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-06-06
  • Javascript字符串對象的常用方法簡明版

    Javascript字符串對象的常用方法簡明版

    這篇文章主要介紹了Javascript字符串對象的常用方法簡明版,本文用一個代碼例子列表了Javascript字符串對象的一些常用方法,例如加粗、斜體、刪除線、上標(biāo)、下標(biāo)、大小寫、查找字符、替換字符等,需要的朋友可以參考下
    2014-06-06
  • input按鈕的事件處理大全

    input按鈕的事件處理大全

    input按鈕的事件處理大全,收集的是網(wǎng)頁中常用的一些事件處理,需要的朋友可以收藏下。
    2010-12-12
  • js取得url地址參數(shù)實例

    js取得url地址參數(shù)實例

    js取得url地址參數(shù)實例,需要的朋友可以參考一下
    2013-02-02
  • Java Mybatis框架入門基礎(chǔ)教程

    Java Mybatis框架入門基礎(chǔ)教程

    MyBatis是一款一流的支持自定義SQL、存儲過程和高級映射的持久化框架。MyBatis幾乎消除了所有的JDBC代碼,也基本不需要手工去 設(shè)置參數(shù)和獲取檢索結(jié)果,對MyBatis感興趣的小伙伴們可以參考一下
    2015-09-09

最新評論