1.数据类型:
NaN: number
Array,date,null: object
未定义:undefined
constructor属性:返回javascript变量的构造函数:
"John".constructor // 返回函数 String() { [native code] }
(3.14).constructor // 返回函数 Number() { [native code] }
false.constructor // 返回函数 Boolean() { [native code] }
[1,2,3,4].constructor // 返回函数 Array() { [native code] }
{name:'John', age:34}.constructor // 返回函数 Object() { [native code] }
new Date().constructor // 返回函数 Date() { [native code] }
function () {}.constructor // 返回函数 Function(){ [native code] }
<p>判断是否为数组。</p>
<p id="demo"></p>
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = isArray(fruits);
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
</script>
数字->字符串
String(x) // 将变量 x 转换为字符串并返回
String(123) // 将数字 123 转换为字符串并返回
String(100 + 23) // 将数字表达式转换为字符串并返回
x.toString()
(123).toString()
(100 + 23).toString()
//布尔->字符串
String(false) // 返回 "false"
String(true) // 返回 "true"
//Date->字符串
Date();
obj = new Date()
obj.toString()
//字符串转换为数字
Number("3.14") // 返回 3.14
Number(" ") // 返回 0
Number("") // 返回 0
Number("99 88") // 返回 NaN
2.正则表达式
search()方法:检查字符串中指定的字符串或者检索与正则表达式相匹配的子字符串,返回子字符串的起始位置!
replace()方法:在字符串中用一些字符替换另外一些字符,或替换一个与正则表达式匹配的字串。
var str = "Visit Runoob!";
var n = str.search(/Runoob/i);// /i是不考虑大小写的
//不区分大小写output-> 6
var str = document.getElementById("demo").innerHTML;
var txt = str.replace(/microsoft/i,"Runoob");
一些修饰符:i:大小写不敏感 g:全局匹配 m:多行匹配
[zxc], [0-9], (x|y)查找任何以 | 分隔的选项 ,\d : 数字 \s :空白字符 \b: 单词边界
\uxxxx :查找以十六进制数xxxx规定的Unicode字符
n+:匹配一个任何至少包含一个 n 的字符串
n* :匹配任何包含零个或者多个n的字符串
n?匹配任何含有零个或者一个n测字符串
test()方法:检索匹配与否,返回true,或者false
var patt=/zlw/;
str.test("zlw,test!");
//返回 true
exec()方法:检测匹配,返回一个数组,不匹配的话返回null。
<script>
var patt1=new RegExp("e");
document.write(patt1.exec("The best things in life are free"));
</script>
//输出 e
判断输入字符是否是数字,字母,下划线组成
function isValid(str) { return /^\w+$/.test(str); }
str = "1234abd__"
document.write(isValid(str));
document.write("<br>");
str2 = "$32343#"
document.write(isValid(str2));
document.write("<br>");
判断是否全部为字母:
val = "123456"
var isletter = /^[a-zA-Z]+$/.test(val);
document.write(isletter);
document.write("<br>");
val2 = "asaaa"
var isletter2 = /^[a-zA-Z]+$/.test(val2);
document.write(isletter2);
判断是否全为数字:
val = "123456"
var isnum = /^\d+$/.test(val);
document.write(isnum);
document.write("<br>");
val2 = "as123"
var isnum2 = /^\d+$/.test(val2);
document.write(isnum2);
4.错误控制
5.javascript调试
console.log(c)调试:
<script>
a = 5;
b = 6;
c = a + b;
console.log(c);
</script>
//使用 F12 来启用调试模式, 在调试窗口中点击 "Console" 菜单。
断点调试:
在调试窗口中,你可以设置 JavaScript 代码的断点。
在每个断点上,都会停止执行 JavaScript 代码,以便于我们检查 JavaScript 变量的值。
在检查完毕后,可以重新执行代码(如播放按钮)。
debugger关键字:
var x = 15 * 5;
debugger;
document.getElementbyId("demo").innerHTML = x;