<!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
最新推荐文章于 2024-03-08 23:01:16 发布