<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第三章3.html</title>
</head>
<body>
<script type="text/javascript">
//模式匹配
var _p=/^HTML/; //匹配以HTML開始的字符串
_p=/^[1-9][0-9]*/; //匹配第一個非零數字,後面是任意個數字
_p=/\bjavascript\b/i; //匹配單詞 javascript 忽略大小寫
var pa="Javascript";
console.log(_p.test(pa));
pa ="testing: 1,2,3";
_p=/\d+/g; //匹配所有包含一個或多個實例
console.log(_p.test(pa)); //True
console.log(pa.search(_p)); // 9 : 首次匹配成功的位置
console.log(pa.match(_p)); // [1,2,3] : 所有匹配組成的數組
console.log(pa.replace(_p,"#"));// 將匹配成功的替換成#
console.log(pa.split(/\D+/)); // 用非數字字符截取字符串
//布爾值
// undefined null 0 -0 NaN "" 空字符串 都會被轉化成false
if(!0){
console.log("!0");
}
// null 空 undefined 未定義 兩者相等 都表示值的空缺 嚴格相等運算符 === 則不等
if(null==undefined){
console.log("null==undefined");
if(null===undefined){ // 不等,
console.log("null==undefined");
}
}
//全局對象
Math,JSON;//等等
if(!([]==[])){//兩個單獨的數組永不相等
console.log("!([]==[])");
}
if(!({}=={})){//兩個單獨的對象永不相等
console.log("!({}=={})");
}
var a=[];
var b=a; //變量b引用同一個數組
b[0]=1; //用過變量b來修改引用的數組
console.log(a[0]);// 原始變量a也會被更改 1
if(a===b){
console.log("a和b引用同一個數組,因此它們相等");
}
//將數組賦值給一個變量,僅僅是賦值的引用值,對象本身並沒有複製一次。
//類型轉化
if("0"==0){
console.log("true 在比較之前字符串轉化成數字");
}
if(false==0){
console.log("true 在比較之前布爾值轉化成數字");
}
if(false=="0"){
console.log("true 在比較之前都轉化成數字");
}
//顯式類型轉化
Number("3"); // 3
String(false); //"false"
Boolean([]); //true
Object(3); // new Number(3);
//試圖把null undefined 轉換成對象則拋出異常
try{
undefined.toString(); //Uncaught TypeError: Cannot read property 'toString' of undefined 報錯
}catch(e){
console.error(e.toString());
}
if(!!1){ //等價於 Boolean(1) 注意是雙歎號
console.info("!!1");
}
//Number類定義的 toString()方法可以進行 2-36 進制轉化
var n=250;
console.info("250 轉換成二進制:"+n.toString(2));
console.info("250 轉換成八進制:"+n.toString(8));
console.info("250 轉換成十進制:"+n.toString(10));
console.info("250 轉換成十六進制:"+n.toString(16));
var t=true; //一個值
var T=new Boolean(true); //一個對象
if(t==T){ //true 相等
console.info(1);
if(!(t===T)){ //不等 //嚴格相等符號 不轉換類型 則不等
console.info("t===T = false");
}
}
var now=new Date(); //當前時間(太平洋時間)
console.log(now.valueOf()); //1442546485061
console.log(typeof (now+1)); //string 將日期轉化成字符串
console.log(typeof (now-1)); //number 使用對象到數字的轉換
console.log(now== now.toString()); //true 隱式的和顯式的字符串轉換
console.log(now>now-1); //true 轉化成數字
</script>
</body>
</html>
Javascript學習筆記【第三章】3
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.