一、變數
1. 作用域:全域性、區域性、閉包
2. var a=12; 不加var,會變成全域性變數。
3. 全域性變數:容易重名,影響效能
4. 區域性變數和全域性變數重名,區域性會遮蔽全域性。
5. 給window加東西,是全域性的。用途:把封閉空間的東西,變成全域性。
(function())()
二、預解析
1. 系統會把所有變數的宣告,放在最上面。只是宣告到上面,賦值還在原來的位置。
2. 預解析的作用域:不會脫離原本的作用域。函式中,變數放在函式最上面;全域性中,放在程式最上面。
3. 作用域可以突破script:讀取乙個script--->預解析--->執行--->讀取下乙個script
4. 開始先把變數分配好,避免後面折騰
5. 函式也有預解析
if(num%2==0)else
var num=12;
預解析,var num,此處是undefined,所以undefined%2即undefined,為假,所以走else
例子:aaa();//此處報錯 aaa is not a function
var aaa=function()
所以,函式賦值給變數,按照變數的規則走。
三、引用
1. object賦值的時候不會複製,只是兩個變數會指向同一塊記憶體。任何東西都是存放在記憶體中。
var arr=[12,4,3];
var arr2=arr;
arr2.push(6);
alert(arr+'\n'+arr2);//都是[12,4,3,6]
2. 如果想解決,通過for迴圈單獨新增。
var arr1=[12,5,3];
var arr2=;
for(var i=0; iarr2.push(arr1[i]);
}arr2.push(6); //arr2=[12,4,3,6];
alert(arr1+'\n'+arr2); //arr1=[12,4,3]
四、索引
1. charat(索引):獲取某一位置的字串;
2.字串-->編碼:charcodeat(索引):獲取某一位置字串的編碼。
a->97 b->98 c->99 z->122 =->61 ?->63 1->49 2->50
3.編碼-->字串:string.fromcharcode(編碼)
for(var i=1;i<=10000;i++)
4. 中文:4e00~9fa5: 即19968~40869。js中,十六進製製用0x
4e00-->一
列印所有的漢字:
for(var i=0x4e00;i<=0x9fa5;i++)
5. 使用十六進製制表示漢字:alert('\u4e00')--- 一 其中「\」是轉義符
6. 所有字串都有編碼,字串比較按照編碼大小排列
加密:
obtn1.onclick=function()
otxt2.value=str2;
}五、 關於比較的問題
(1)字串比較的是內容,只要文字相同,就相等 aa
(2)陣列:屬於object型別,是新建的,所以下面的arr1和arr2不相等
var arr1=[12,5];
var arr2=[12,5];
alert(arr1==arr2); //false
(3)函式:
function aaa()
function bbb()
alert(aaa==bbb); //false;
完整寫法:new function();
所以,只要是new出來的,就不相等。
(4)位元組長度
字母:1位元組 漢字:2個或3個位元組 utf-8格式,佔得多3個位元組 gb2312--2個位元組 可以了解頭資訊
計算位元組長度
var str='abc啊';
function getbylon(str,type)else
}else
}return res;
}alert(getbylon(str,'utf-8'));
六、in——檢測屬性是否存在
var json=;
alert(a in json); //報錯 因為 不加引號-->變數
alert('c' in json); //false
注意:必須用字串,只能用於json,不能用於陣列
相容,但是沒啥用
用什麼檢測呢?
var json=;
if(json.a)else
小問題,0是假的,如果恰巧json.a的值是0呢? --彈0
七、異常
(1)什麼是異常:程式無法處理的錯誤
(2)try catch:防止報錯。try中的有問題,catch才會執行
try//可以用則用它;chrome,ff,ie9++;
catch(e)
try中的**執行很慢,且不好除錯。所以,js中沒啥大用。用於應急。
八、表示式
(1)賦值表示式:alert(a=12); 賦值語句本身也有值
(2)連等:alert(a=b=c=5);//5
(3)逗號表示式:聽最後乙個。且不能跟var 一起使用。
逗號的優先順序很低。alert((1,3));//必須加();
if(12,0)else
Java基礎知識回顧 6
1 遍歷 jar zip 檔案中的資源 file jar newfile myfile.jar zipinputstream zis new zipinputstream newfileinputstream jar try finally 2 遍歷web應用中的資源。setsubresources...
js基礎知識回顧5
字串 字串和陣列類似,可以通過其索引位置來找到其值 charat index 找到索引值對應的字元 var str abd rt 45 sgds for var i 0 icharcode index 先根據下標找到對應的值,再輸出其值的asi碼 fromcharcode 輸出asi碼對應的字母 v...
python之6核心基礎知識之引數與變數
6.1 形參與實參以及位置引數 6.2 預設引數 引數在前,預設引數在後 def test a 1 b 2,c 3 print a d b d c d a,b,c test c 2 如果預設引數是列表 def test l end print l test 1 1,1 test 2 2,2 輸出 1...