【Javascript】javascript小白常用 基礎知識

1.javascript數組是變長的

var arrayObj = new Array([size]); //創建一個數組並指定長度,注意不是上限,是長度

2.js事件處理

js事件

3.split分割字符串

stringObject.split(separator,limit)//limit爲分割後取出的數組成員個數

例:

var mystr="86-010-85468578";
document.write( mystr.split('-',2) + "<br />");
//result: 86,010

4.loaction對象

location
href格式

5.window對象

window對象

6.js閉包

閉包可以用在許多地方。它的最大用處有兩個

  • 可以讀取函數內部的變量
  • 讓這些變量的值始終保持在內存中

由於在Javascript語言中,只有函數內部的子函數才能讀取局部變量,因此可以把閉包簡單理解成“定義在一個函數內部的函數”。
所以,在本質上,閉包就是將函數內部和函數外部連接起來的一座橋樑

7.使用this來引用調用函數的標籤

for(var i=0;i<btn.length;i++){
	btn[i].index=i;
	btn[i].onclick=function() {
		for(var j=0;j<txt.length;j++){
			txt[j].style.display='none';
		}
	txt[this.index].style.display='block';//寫成txt[btn[i].index].style.display='block';會出問題
	}
}

8.js變量作用域

Javascript在執行前會對整個腳本文件的聲明部分做完整分析(包括局部變量),從而確定實變量的作用域。怎麼理解呢?看下面一個例子:

<script>  
    var a =1;  
    function test(){  
        alert(a); //a爲undefined! 這個a並不是全局變量,這是因爲在function scope裏已經聲明瞭(函數體倒數第4行)一個重名的局部變量,  
                     //所以全局變量a被覆蓋了,這說明了Javascript在執行前會對整個腳本文件的定義部分做完整分析,所以在函數test()執行前,  
                    //函數體中的變量a就被指向內部的局部變量.而不是指向外部的全局變量. 但這時a只有聲明,還沒賦值,所以輸出undefined。  
        a=4         
        alert(a);  //a爲4,沒懸念了吧? 這裏的a還是局部變量哦!  
        var a;     //局部變量a在這行聲明  
        alert(a);  //a還是爲4,這是因爲之前已把4賦給a了  
    }  
    test();  
    alert(a); //a爲1,這裏並不在function scope內,a的值爲全局變量的值  
</script>

9、通過名稱name選取元素(getElementsByName)

1)使用方法:document.getElementsByName(“domName”)
其中,domName爲要選取元素的name屬性值
2)說明

  • a. 返回值是一個nodeList集合(區別於Array)

  • b.和ID屬性不一樣,name屬性只在少數DOM元素中有效(form表單、表單元素、iframe、img)。這是因爲name屬性是爲了方便提交表單數據而打造的。

  • c.爲form、img、iframe、applet、embed、object元素設置name屬性時,會自動在Document對象中創建以該name屬性值命名的屬性。所以可以通過document.domName引用相應的dom對象

3)兼容性:IE中ID屬性值匹配的元素也會一起返回

10.js的函數參數不能加var

function func(var m){}//no
function func(m){}//yes

11.html中調用函數在不同js文件中存在同名函數,調用先聲明的js文件中函數

12.js聲明和使用

//js聲明必須用<script></script>不能用<script/>
<script src="xxx.js" ></script>
ps. html有雙標籤,單標籤之分

13.js中JSON使用

參考地址(http://blog.csdn.net/flysun3344/article/details/50279947##1)
sendResponse("{'userName':'"+localStorage.userName+"'}")//鍵也需要用引號括起
var resJSON=eval('(' + response + ')')//把字符串拼接起來,再解釋

eval是js中神奇的方法,自行百度瞭解

14.在引入jquery的script塊中寫代碼是無反應,必須再寫一個

<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.6.4/jquery.min.js">
</script>
<script type="text/javascript">
alert($("#id"));
</script>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.6.4/jquery.min.js">
	alert($("#id"));//無反應
</script>
進一步測試js
正確:
//testSrc.html:
<body>
<script src="ww.js">
</script>
<script>
	a();
</script>
</body>

//ww.js:
function a() {
	alert("sss");
}
錯誤:
//testSrc.html:
<body>
<script src="ww.js">
a();
</script>
</body>
//ww.js:
function a() {
	alert("sss");
}

結論:在使用src後,語句塊內部不能再寫js代碼

15.html標籤中引用js

<input type="button" onclick="javascript:alert('我是js腳本代碼');"/>

16.js 函數作爲參數

參考地址(http://blog.csdn.net/kaituozhe345/article/details/7236454)
function test1(Func){
	Func(mydata);
}
function test3(data){
	alert(data);
}
test1(test3("zhangran"));//彈出zhangran

17.函數的靈活調用

  • 定義函數時無參,調用時添加參數也可調用
function a(){
alert("ss");
}
a("","ss");//也可調用出a函數
  • 定義函數時有參,調用時無參也可調用
function a(b,c){
alert(b);//但是會彈出undefined
}
a();//也可調用出a函數

18.null和undefined的區別

理解概念沒什麼必要,複雜,瞭解出現場合就足夠了

  • null表示"沒有對象",即該處不應該有值。典型用法是:

    • (1) 作爲函數的參數,表示該函數的參數不是對象。

    • (2) 作爲對象原型鏈的終點。

  • undefined表示"缺少值",就是此處應該有一個值,但是還沒有定義。典型用法是:

    • (1)變量被聲明瞭,但沒有賦值時,就等於undefined。
    • (2) 調用函數時,應該提供的參數沒有提供,該參數等於undefined。
    • (3)對象沒有賦值的屬性,該屬性的值爲undefined。
    • (4)函數沒有返回值時,默認返回undefined。
var i; 
i // undefined function 
f(x){
	console.log(x)
} 
f() // undefined 
var o = new Object(); 
o.p // undefined 
var x = f();
x // undefined

undefine == null //true
undefine === null //false

19.join()函數

定義和用法
join() 方法用於把數組中的所有元素放入一個字符串。
元素是通過指定的分隔符進行分隔的。
語法
arrayObject.join(separator)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章