主流瀏覽器和核心:
ie :trident
chrome : webkit/blink
firefox : gecko
opera : presto
safari : webkit
如何引入js?
(1) 嵌入式
(2) 外部引入
(3)為符合web標準(w3c標準中的一項)結構、樣式、行為相分離,通常會採用外部引入
變數(variable)
變數宣告
宣告、賦值分解
單一var
命名規則
1.變數名必須以英文本母、——、開頭2.
變數名可
以包括英
文、——
、開頭 2.變數名可以包括英文、——、
開頭2.變數
名可以包
括英文、
——、、數字
3.不可以用系統的關鍵字、保留字作為變數名
值型別-資料型別
不可改變的原始值(棧資料)
number,string,boolean,undefined,null
引用值(堆資料)
array,object,function
var arr = [1,2];
var arr1 = arr;
arr = [1,3];
document.write(arr);//1,2
js語句基本規則
1.語句後面要用分號結束『;』
2.js語法錯誤會引發後續**終止,但不會影響其他js**塊
3.書寫格式要規範,』= + / -『兩邊都應該有空格
錯誤分兩種:
1.低階錯誤(語法解析錯誤)
var a = 10;
document.write(a);
var b = 20;
document.write(b);
2.邏輯錯誤(標準錯誤,情有可原)
var a = 10;
document.write(a);
document.write(b);
js運算子
運算操作符
「+」1.數**算、字串鏈結
2.任何資料型別加字串都等於字串
var o = 'q' + 1 + 1;//q11
var s = 1 + 1 + 'a' + (1 + 1);//2a2
"-","*","/","%","=","()"
var a = 0/0;//nan
var b = 1/0;//infinity
var c = -1/0;//-infinity
var d = 5%2;//商2餘1
var f = 4%6;//商0餘4
優先順序 「=」 最弱,()優先順序較高
「++」,"–","+=","-=","/=","*=","%="
賦值的順序 自右向左,計算的順序 自左向右
var g = 10;
var h = 20;
h = g++;//11
h++;//12
var a = 10;
var b = ++a - 1 + a++; //11-1+11
document.write(b + '' + a); //21 12
var x = 10;
x += 10;
var j = 10;
j %= 2;
練習
1.寫出列印結果
var a = (10 * 3 - 4 / 2 + 1) % 2;
b = 3;
b %= a + 3;
document.write(a++);
document.write("
");document.write(–b);
2.var a = 123;var b = 234;請交換a,b的值。
第一種:
var a = 123;
var b = 234;
var temp;
temp = a;
a = b;
b = temp;
document.write(a + '' + b);
第二種:
var a = 123;
var b = 234;
a = a + b;
b = a - b;
a = a - b;
document.write(a + '' + b);
比較運算子
『>』,』<』,』==』,』<=』,』>=』,』!=』
比較結果為boolean
字串比較的是ascii的順序
var a = 1 > 2;
document.write(a);//false
var b = '鄧哥不帥' > '成哥不帥';
document.write(b);//true
var c = 1 == 2;
console.log(c);//false
var d = nan == nan;
console.log(d);
邏輯運算子
『&&』,』||』,』!』
運算結果為真實的值
先看第一表示式轉換成布林值得結果,如果 結果為真,
那麼它會看第二個表示式轉換為布林值得結果,然後如果只有
兩個表示式的話,只看到第二個表示式,就可以返回表示式的值了。
'&&'全真為真,乙個為假就為假
'||'有乙個真就為真
var a = 1 && 2;
console.log(a);//2
有卵用 和 沒卵用有啥區別?
var b = 1 || 3;
console.log(b); //1
var num = 0 || false || 1;
console.log(num); //1
var c = 0 || false;
console.log(c); //false
div.onclick = function(e)
var a = !123;
console.log(a); //false
var b = !!"";
console.log(b); //false
var c = true;
c = !c;
console.log(c); //false
被認定為false的值
undefined,null,nan,"",0,false
day13 JS引入, 變數, 值型別
一 引入js 1 頁面級嵌入 head 和 body 都可以 2 外部引入js檔案,符合web標準 w3c標準 結構 樣式 行為相分離。二 js 語法 1 變數宣告 單一var 2 變數命名 1 必須以英文本母 開頭 2 變數名可以包括英文本母 數字 3 不能用關鍵字和保留字 3 值型別 資料型別 ...
Winform獲取js變數值
問題情境 webbrowser可以正常載入html頁面了,需要和js相互傳參。有個前提,c 程式和html不要直接影響 自己悟 所以直覺想法是通過中間介質進行傳輸,而想法第乙個介質便是檔案。如果沒有這個直接影響的前提,可以通過函式傳參,也可以通過隱藏控制項等等。思路解析 1.先實現通過json格式的...
js 正則提取頁面中的變數值
有的網頁為了防止 tampermonkey 這類外掛程式讀取頁面中的 js 變數,把變數寫到了匿名自呼叫函式 self invocation 中,例如 而我為了某些不可告人的目的必須讀取到變數 a 的值。一種有效的方式是,使用 ajax 獲取當前頁面的源 然後正則匹配中某個指定變數的值。正則匹配 v...