1.js基礎
發起:平常狀況下不在head標籤中寫js語句,由於該js語句會在body加載之前就實行,可以致使某些結果無效
// 單行解釋
/*多行
* 解釋*/
// 控制台輸出語句
console.log('hello world');
// 瀏覽器的提示框
alert('這是一個提示框');
//頁面展現
document.write('hello world');
document.write('<h1>alert</h1>');
2.數據範例
一、基礎數據範例
- Number:数字範例 整型 浮點型 NaN(不是一個数字) Infinity(不能處置懲罰的数字)
- String字符串,運用單引號或雙引號的恣意多個字符
- boolean:true false
- undefined:未定義範例 當定義變量時未賦值,默以為undefined範例,值為undefined
- null:空範例,代表空值或沒有值,空範例的值為null
null與undefined區分,當變量定義了但未賦值,默認值為undefined,當變量定義了而且給予值為null時 ,為空範例
二、援用數據範例
- String:字符串
- Array:數組
3.Number範例
var num;
console.log(num); //undefined
console.log(typeof num); //undefined
var num = 20;
console.log(typeof num); // number
console.log(num);
// 變量的數據範例依據賦值的範例而定
// 定義一個八進制數
// js八進制數以0開首
var num3 = 056; // 以十進制花樣輸出
console.log(num3); // 46
// 定義十六進制
var num4 = 0x56
console.log(num4) // 86
// js中最大的數為1e308
console.log(1e308); //1e+308
// Infinity 特別的number範例 特別的值 當處置懲罰超越js的數值局限時
console.log(1e309); // infinity
console.log(typeof Infinity) // number範例
console.log(10/0)
// Infinity與其他任何数字舉行數學盤算 ,值依舊是Infinity
console.log(Infinity+(-Infinity)); // NaN
// NaN 示意不是一個数字,然則NaN是Number範例,只不過Number中
// 一個特別的值
console.log(typeof NaN) //Number範例
//當運算符運用錯誤時,運算失利返回NaN
console.log('f' * 3); // NaN
// NaN與任何数字舉行運算都是NaN
console.log(1 + 2 + NaN)
console.log(Infinity + NaN); // NaN
4.Boolean範例
- 数字 :0 0.0 NaN
- 字符串: 空字符串
- 空值範例:null
- 未定義範例:undefined
以上為false, 除以上狀況都為真
5.定名空間
在同一個html文件中,一切的script共用同一個定名空間
<script type="text/javascript">
var a = 200;
console.log(a);
</script>
<script type="text/javascript">
console.log(a) // 200
</script>
6.字符串相干操縱
// 一、字符串的拼接
//字符串拼接 +
console.log('hello '+ 'world');
// 字符串+数字 變成字符串
console.log('1'+2); // '12'
// 當運算符前後都是数字範例時 舉行數學運算
console.log(1+2+'3'); // '33'
console.log('1'+2+3); // '123'
console.log(typeof 1+2+'3'); // number23
console.log(typeof (1+2+'3')); //string
// 二、定義援用範例的字符串!!!
// new String()
// new:拓荒空間 返回一個對象
// new: 建立一個類的實例對象的關鍵字, String():字符串的一個類
var str3 = new String('我是大好人')
console.log(str3)
console.log(typeof str3); // object
// string 基礎數據範例
// object 援用數據範例
// 兩者本質上的數據範例是不一樣的
// 在實際操縱中, 基礎數據範例會自動轉為援用數據範例,我們可以
// 用基礎數據範例挪用援用數據範例的要領或屬性
// 三、字符串是不可變的數據範例
// 四、字符串的相干要領
//1-字符串長度
var str5 = 'abcd';
var str6 = new String('qwert');
console.log(str5.length)
console.log(str6.length)
//2-大小寫轉行
var str7 = 'ABCdef';
console.log(str7.toLowerCase());
console.log(str7.toUpperCase());
//3-字符串比較 比較acsii的值
var str8 = 'abc';
var str9 = 'auc';
var res = str8.localeCompare(str9); // -1 代表小於
console.log(res)
//4-ascii值轉為字符
var str10 = String.fromCharCode(97);
console.log(str10); // a
console.log(typeof str10); // string
// 5-獵取字符串中某個下標的字符
console.log(str8.charAt(2)); // c
console.log(str8[2]);
console.log(str8.charAt(4)); // '' 下標越界不會報錯 是空
// 6-字符串轉ASCII charCodeAt(下標)
console.log(str8.charCodeAt(2)); //99
// 7-推斷是不是相稱
// == :js中會自動舉行數據轉行再舉行比較
// !=
// ===: 值與數據範例是不是一致
// !==
var num1 = 10;
var num2 = '10';
console.log(num1 == num2) // 10==10 10=='10'
console.log(num1 === num2) // false
// 8-字符串替代
// replace(舊字符串/正則表達式, 字符串)
// replace:現在只替代一次,假如想要悉數替代須要正則
var str11 = 'today is cool and cood so cool';
console.log(str11.replace('cool', 'hot')); //換一次
console.log(str11.replace(/cool/g, 'hot')); // global 全局查找
// 9-切割字符串
// 假如不須要空字符串 也是須要正則的
console.log(str11.split(' '));
console.log(str11.split(/ +/))
// 10-將數組中元素拼接為字符 和Python相反
arr1 = [1,2,3,4]
console.log(arr1.join('*'));
// 11-字符串截取
var str12 = 'abcdefghidefgk'
console.log(str12.substring(2)); //從第三個下標最先截取 cdefghigk
console.log(str12.substring(1,5)); // 5不包括
// substr 第二個參數是截取的個數
console.log(str12.substr(2));
console.log(str12.substr(1,5));
//12-字符串查找
// indexOf:當可以找到:返回第一次找到的下標
// 找不到 返回-1
console.log(str12.indexOf('def'));
console.log(str12.indexOf('rrr'));
// 從右向左找
console.log(str12.lastIndexOf('def'));
7.關聯運算符與邏輯運算符
console.log(1>'2'); // false
console.log(1=='1'); // true
console.log(1==='1') // false
console.log(5 / 2) // 2.5 Number
// true-> 1 false -> 0
console.log(1+true); //2
console.log(1+ false); //1
// null->0
console.log(1+ null); // 1
// undefined->NaN
console.log(1+undefined)// NaN
&& || ! ++ --
8.提示框範例
// alert
// confirm 有肯定及作廢兩個按鈕
// confirm 有返回值 點肯定按鈕時刻返回true
var res = confirm('在么');
if(res == true){
console.log('66');
}else{
console.log('滾');
}
//prompt 有返回值
//點擊肯定按鈕時刻,返回輸入框的筆墨
// 點擊作廢 返回 null
res= prompt('請輸入');
document.write(res);