javascript:
一、和java不同之處:
1、所屬公司不一樣,是NetScape公司的語言,基於對象和事件驅動;java是sun公司的,現在是oracle公司的.
2、js是基於對象,java是面向對象.
3、js是由瀏覽器解釋並執行,java由jvm解釋並執行.
4、js是弱類型的語言,java是強類型的.
5、js是非嚴謹的語言,而java是嚴謹的.
二、javascript語法:
1、變量:
通過var關鍵字定義變量,該變量可以賦予不同類型的常量.
如:var x=3;
x="abc";
2、語句
if,switch(不限定類型),while,do
while,for.
使用邏輯運算符進行布爾表達式連接的時候,使用&&或||。因爲在js中非0即爲真,0爲false.非null爲true,null爲false.
js特有的語句:
with():可以確定對象所作用的範圍,在範圍內,可以直接使用對象的屬性和行爲,而不用對象.屬性的方式.
for(變量 in
對象):可以對對象的行爲和屬性進行遍歷.
3、數組.
對js的數組,特點在於:該數組的長度是可變的,相對於java的集合.
數組可以存放的元素類型可以是不同的.
定義格式:
var arr =
[3,true,"abc"];
var arr = new
Array();
var arr =
[[1,2],["a","b"]];二維數組.
數組的操作形式和java一樣,都是通過for循環進行遍歷.
4、函數
通過關鍵字function定義函數.
1,一般函數:
格式:
function 函數名(形式參數, ...)
{
執行語句;
return
返回值;
}
2,動態函數:
使用的function對象.
例:var show =
new Function("x", "y", "return x+y;");
特點:可以將參數列表和方法體作爲參數傳遞.
3,匿名函數.
一般函數的簡寫形式.
function(){};
通常可以用於事件的處理.
window.onload
= function(){alert(onload over)};
注意:
function
show()
{
return
"show run";
}
var method =
show();
——正確,表示將show方法運行的結果複製給method變量.
var method =
show;
——正確,沒有括號,表示將show指向對象的地址賦值給method,那麼method也指向了該對象,就可以通過method()的形式來調用這個show方法.
三、Js可以通過對象形式將數據進行封裝.
1、首先對對象進行描述,通過函數來完成.
function Person(name,
age)
{
this.name =
name;
this.age =
age;
}
var p = new Person("zhangsan",
25);
alert(p["name"]+".."+p.age);
p.show = function()
{
alert("show
run");
}
2、js中已經定義好的一些對象:String,Math,Date,Globe,Object等等.
這些對象都有一個屬性:prototype(原型),可以通過該屬性獲得原對象的引用,然後可以通過該引用給已有的對象賦予新的功能,在使用該對象的時候,就可以直接調用定義好的功能.
例如:將獲取數組最大值的自定義功能封裝到Array對象中.
function
getMax()
{
var
max = 0;
for
(var x = 1; x < this.length; x++)
{
if(this[x]
> this[max])
max
= x;
}
return
this[max];
}
Array.prototype.getMax
= getMax; //給Array對象新增加一個getMax函數。
var
arr = [1,5,2,3];
alert("max="+arr.getMax());
3、常見的全局方法:
sarseInt(numstr,
[radix]);——可選參數爲基數,制定了基數,則將字符串格式的數字按照指定基數轉成整數.
如:var num =
parseInt("110", 2); //結果爲6。
var num = parseInt("110", 10); //結果爲110。
四、javascript和html結合才能被瀏覽器解釋執行.
結合方式:
1,通過定義<script>標籤將js代碼存入其中,並指定type屬性.
2,通過<script>標籤,使用src屬性連接一個指定的js外部文件.