1.“==”判断值是否相等,“===”内容与值都得相等。
var x="john" ;var y=new string("john") ;x是字符串,y是对象,所以x===y的值是false
2.return带返回值的函数,返回值或者函数,中断所在函数的运行。
在javaScript里,return有终止函数的执行和传递数值,两种功能。
return false 就是返回假值,从而终止了函数的执行
return true 就是返回真值,从而传递数值,继续执行函数
3.javascript中字符串与数字相加结果也是字符串。
4.条件运算符 var a=(age<18)?"太年轻了你":"恭喜你,你是老油条";
5.while(arry[i])表示arry[i]值为真时循环,同理for(;arry[i];)也是一样的效果。
6.<script>//输出结果为三角形
for(var i=1;i<=5;i++){
for(var k=1;k<=5-i;k++){
document.write(" ");
};
for(var j=1;j<=2*i-1;j++){
document.write("*");
};
document.write("<br/>");
}
</script>
7.for(var i=1;i<=9;i++){ //输出结果为菱形
if(i<=5){
for(var j=1;j<=5-i;j++){
document.write(" ");
};
for(var k=1;k<=2*i-1;k++){
document.write("*");
};
document.write("<br/>")
}else{
for(var l=1;l<=i-5;l++){
document.write(" ");
};
for(var n=1;n<=19-2*i;n++){
document.write("*");
};
document.write("<br/>")
};
};
8.break跳出循环,continue跳出当前循环进入下一个循环。
9.null与undefined都表示值为空,null的类型是对象,undefined的类型是undefined.
10.javascript变量会提升,但是初始化不会提升。
x=7;
document.getElementById("demo").innerHTML=x+y
var x
var y=7// 在这里声明(var x,var y)被提升,但是初始化y=7不会被提升。
11.严格模式:“”use strict“”体现了javascript更合理、更严谨、更安全的发展方向。
12.javascript中对象只能使用名称索引,数组只能使用数字索引。
person={firstName:"John",lastname:"Doe",age:46};
person.firstName或者person["firstName"]
13.表单验证
<html>
<head>
<meta charset="utf-8">
<script>
function validateForm() {
var x = document.forms["myForm"]["fname"].value;//找到表单下input输入框的值
if (x == null || x == "") {
alert("需要输入名字。");
return false; //返回值为false,终止函数执行
}
}
</script>
</head>
<body>
<form name="myForm" action="demo_form.php"
onsubmit="return validateForm()" method="post">//false传递进来,终止函数执行
名字: <input type="text" name="fname">
<input type="submit" value="提交">
</form>
</body>
</html>
14.数据验证
服务端数据验证,是将数据发送至服务端里进行验证;客户端数据验证,数据在浏览器上进行验证。
所以表单数据验证一般先在浏览器上验证,在传入服务器验证;
15.邮箱验证
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<head>
<script>
function validateForm(){
var x=document.forms["myForm"]["email"].value;
var atpos=x.indexOf("@"); //变量x中"@"字符所在位置,找不到是atpos=0
var dotpos=x.lastIndexOf(".");//最后一个“.”所在位置
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){
alert("不是一个有效的 e-mail 地址");
return false;
}
}
</script>
</head>
<body>
<form name="myForm" action="demo-form.php" οnsubmit="return validateForm();" method="post">
Email: <input type="text" name="email">
<input type="submit" value="提交">
</form>
</body>
</html>
16.监听事件
addEventListener/removeEventListener("click/mouseOver/mouseOut",function,false(默认,冒泡)/true(捕获))
事件冒泡是指先触发内部元素,再触发外部元素;捕获是指先触发外部元素,再触发内部元素。
17.变量提升问题
fun();
console.log(c);
console.log(b);
console.log(a);
functin fun(){
var a=b=c=9 //相当于var a=9 ,b=9 ,c=9
console.log(a);
console.log(b);
console.log(c);
}