設置樣式:
設置多個樣式
setStyle(obj,json);
只設置一個樣式
setStyle(obj,name,value)
function setStyle() {
// arguments 實參的參數數組
var obj = arguments[0];
if (arguments.length == 2) {
// 設置多個
var json = arguments[1];
for (var name in json) {
obj.style[name] = json[name];
}
} else if (arguments.length == 3) {
// 設置一個樣式
var name = arguments[1];
var value = arguments[2];
obj.style[name] = value;
}
}
JS小特性:
預解析:預先解析一些東西
變量的定義,函數的定義 會預解析
預解析的作用范圍:
只會在本作用域范圍之內
a). 函數
b). script
面試題:
引用:跟對象打交道,只有對象之間才有引用
對象(oDate,oDiv,json,arr...) 指的是同一個東西
var json = {a:1,b:2};
var json2 = json;
json2.a = 101;
console.log(json); // {a :101 ,b:2}
字符串其他的東西:
var str = 'abcdef';
str.charAt(索引值);
str.charCodeAt(索引值); -> 字母對應的編碼
計算機的編碼(16進制編碼)
0x4e00 -> 一
0x9fa5 -> 龥 yu
String.fromCharCode(編碼); -> 對應的字母(詞)
<b>統一編碼:</b>
unicode
utf-8/16/32
gb2312
\u4e00 一
\u9fa5 龥 yu
<b>求字節長度 ?</b>
字節
M
K
B bytes
跟編碼有關系:
UTF-8 -> 一個漢字對應3個字節
gb2312 -> 一個漢字對應2個字節
求字節長度函數:
getByLen(str);
getByLen(str,type);
in:
判斷json里面有沒有某一個屬性?
var json = {a:1, b:2};
'xxx' in json
true: 存在
false:不存在
全局的東西屬于window
異常:
異常捕獲
try {
// js
} catch(ex){
// 補救的代碼
// 錯誤提示信息
}
獲取異常信息:
ex.message
用處:
a). 救急 屏蔽錯誤信息
b). 替代 if
try{}catch(ex){} 盡量少用,性能略低
定義變量:
var a = 12;
a = 12;
var a = 1;
var b = 1;
var c = 1;
var d = 1;
var a = b = c = d = 1; 連等 ×
關于定義變量:
a). 定義變量不帶var 會變成全局的
b). 在函數里面定義變量使用連等,第一個變量是局部變量,從第二個以后都是全局的變量
逗號:
var arr = [1,2,3];
var json = {a:1,b:2,c:3};
, 可以作為運算符使用
var a = (12);
*** 逗號運算符一最后一個為準
if (1,0,'abc',NaN) {
alert('真');
} else {
alert('假');
}
//假
嚴格模式:
告訴瀏覽器嚴格檢查你的代碼
開啟一個嚴格模式:
'use strict'
好處:
a). 定義變量不帶var報錯
b). 在if while for 定義一個函數
作用范圍:
a). 沖不出script標簽
b). 作用于函數內
c). 作用于js文件
建議大家以后js文件最好加上嚴格模式