初學Java10:JavaScript小結(一)

JavaScript小結

1.JavaScript是什麼?動態的,弱類型
  (from W3School:http://www.w3school.com.cn/js/index.asp )
  JavaScript 是屬於網絡的腳本語言!
  JavaScript 被數百萬計的網頁用來改進設計、驗證表單、檢測瀏覽器、建立cookies,以及更多的應用。
  JavaScript 是因特網上最流行的腳本語言。

2.實現:<script type="text/javascript"></script>標籤。javascript

3.語句、註釋、標識符(變量名,函數名)、保留字 java

4.變量:弱類型 數組

  變量類型是可變的瀏覽器

五、數據類型:typeof運算符
  undefined
  Null == undefined
  Boolean (類型轉換:if('yes'){....})
  Number NaN!=NaN, isNaN ,類型轉換parseInt("1234.5abc"),parseFloat()
  String 類型轉換:12.toString() 單引號,雙引號
  function:函數類型 cookie

6.運算符:基本和java差很少,其中「==」是指比較內容,eg:var a="123";var b=123;alert(a==b);//true
                「===」是比較內容和類型,eg:var a="123";var b=123;alert(a===b);//false網絡

7.控制語句:基本和java差很少app

8.函數
  1)普通定義與調用
  2)動態參數arguments,下例:dom

 1   function plus(){
 2     //參數對象(數組)
 3     if(arguments.length>0){
 4         var sum=0;
 5         for(var i=0;i<arguments.length;i++){
 6         sum+=arguments[i];
 7       }
 8     }
 9     return sum;
10   }
11 //調用
12 var x=plus(10,20,30,40);
13 alert(x);//=100

  3)匿名定義和調用,匿名函數定義,定義匿名函數,將函數地址賦值給變量函數

9.基本類型(undefined,null,number,boolean,string)/引用類型:Object 、Array、Function
  1)動態屬性: delete p.name
  2)複製引用:this

var o1=new Object();
var o2=o1;
o1.name='ada';
alert(o2.name);//ada

3)傳遞參數 不能經過參數在函數內部改變外部對象
4)類型檢測 instanceof

10.做用域:變量的有效範圍
1)執行環境;每一個函數就是一個執行環境
2)做用域鏈
3)搜索變量
4 )沒有塊級做用域
5)聲明變量(var)自動添加到最近的環境,未聲明變量直接添加到全局環境

11.Object建立的兩種方式
1)new Object()
2){"name":"ada","sex":"male"} //JSON方式
eg://Object對象建立的方式

//1.new
var p=new Object();
p.name="ada";
//2.JSON
var p={"name":"ada","sex":"male"};
alert(p.name);
alert(p.sex);
//屬性訪問方式
alert(p["name"]);
alert(p["sex"]);
//遍歷所有屬性
for(var a in p){
document.write(p[a]);
}

12.Array
  1)建立:new Array();

//1.
var a=new Array(4);
alert(a.length);
//2.
a[0]=1;
a[1]=2;
a[3]=4;
alert(a[2]);

  2)建立並初始化: a=[1,2,3];
  3)數組動態性

var a=[1,2,3];
a[10]=11;
alert(a.length);//11
alert(a[3]);//undefined//a[3]---a[9]都是undefined

  4)轉換:toString()
  5)push():添加尾元素

var a=[1,2,3];
a.push(4);//壓棧
alert(a);//1,2,3,4

  6)shift():刪除頭元素

var a=[1,2,3,4];
var x=a.shift();
alert(x);//2,3,4

  7)sort(a,function(v1,v2){}),排序

var a=[15,1,3,5,20,50];
a.sort(function(v1,v2){
    if(v1>v2){
        return 1;
    }else if(v1<v2){
        return -1;
    }else{
        return 0;
    }
});
alert(a);//順序,從小到大,1,3,5,15,20,50    

  8)slice(start,end)截取

var a=[1,2,3,4,5,6,7,8];
var b=a.slice(2,6);
alert(b);//3,4,5,6

  9)splice :刪除(0,2),插入(2,0,"aaa"),替換(2,1,"aaa)
  10)indexOf,返回某個指定的字符串值在字符串中首次出現的位置
  11)arr.forEach(function(item,index,array){});//迭代
  12)arr.every/arr.some
  13)filter篩選,eg: 篩選:10以上的元素

var a=[15,2,12,3,5,11,18];
var b=a.filter(function(item,index,array){
return item>10;
});
alert(b);//15,11,18

13.Date:
  1)建立 new Date()/new Date(2010,5,6,14,25,30)
  2)date.now()
  3)date.getTime()/getYear()/getMonth()/getDay()/getDate()

14.Function
  1)函數做爲參數值
  2)caller
  function A(){B();}
  function B(){alert(B.caller);}
3)函數是對象:
  length屬性,參數個數

apply();
call();
window.color="red";
var o={color:"blue"}
function sayColor(){
alert(this.color);
}
sayColor.call(window);
sayColor.call(o);
var oSayColor=sayColor.bind(o);
oSayColor();

15.Global終極對象
  eval方法,將字符串轉化爲表達式
  eg:var jstu=eval("("+jstr+")");//代碼注入攻擊,少用

16.Math對象(from W3School:http://www.w3school.com.cn/jsref/jsref_obj_math.asp )
方法      描述
abs(x)    返回數的絕對值。
acos(x)    返回數的反餘弦值。
asin(x)    返回數的反正弦值。
atan(x)    以介於 -PI/2 與 PI/2 弧度之間的數值來返回 x 的反正切值。
atan2(y,x)   返回從 x 軸到點 (x,y) 的角度(介於 -PI/2 與 PI/2 弧度之間)。
ceil(x)     對數進行上舍入。
cos(x)     返回數的餘弦。
exp(x)    返回 e 的指數。
floor(x)   對數進行下舍入。
log(x)     返回數的天然對數(底爲e)。
max(x,y)  返回 x 和 y 中的最高值。
min(x,y)   返回 x 和 y 中的最低值。
pow(x,y)    返回 x 的 y 次冪。
random()    返回 0 ~ 1 之間的隨機數。
round(x)   把數四捨五入爲最接近的整數。
sin(x)     返回數的正弦。
sqrt(x)   返回數的平方根。
tan(x)    返回角的正切。
toSource() 返回該對象的源代碼。
valueOf()   返回 Math 對象的原始值。

    2016-10-13

相關文章
相關標籤/搜索