PS:所有博客都是本人学习过程中的积累,尽量求证过。如果有错误也是难免的,请大家指正!
1.函数中未声明的变量会作为全局变量,声明后则是函数内的局部变量
向未声明的 JavaScript 变量来分配值
如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。
这条语句:
carname="Volvo";
将声明一个全局变量 carname,即使它在函数内执行。
注意:!!!非常需要注意的一点就是,这个变量只有在函数被执行过一次才会生效。
例如:
<button type="button" onclick="myFunction()">点我会变哦</button>
<script>
function myFunction()
{
ming = 'hhhhhhhhhhhhh';
var chen = 'ppppppppppp';
}
document.getElementById.innerHTML=ming; //不会被执行,function没被调用过一次
</script>
2.不同类型的算术操作
5 + “5” : 很简单,结果是字符串:“55”
那么 5 - “5”呢?或者“5” - 5?
答案都是数字0。
说明了javacript会智能的转换类型
3.== 和 ===
与java不同,JavaScript的==不是比较引用,我理解的JavaScript就是java的equals(),
即它先比较引用,如果不等,那么再智能的转换一下类型,来比较值。
===则类似于java的==。
总结一下,就是
javascript的==先比较引用,再比较值。(值相等)
javascript的===比较引用,不同直接返回false。(完全相等)
4.三元运算符
// 如果变量visitor中的值是"PRES",则向变量 greeting赋值"Dear President ",否则赋值 "Dear"
greeting=(visitor=="PRES")?"Dear President ":"Dear "; //想
5.break/continue
一般只能用于跳出循环,switch语句。
但是加上标签后则能跳出任何 JavaScript 代码块:
<script>
cars=["BMW","Volvo","Saab","Ford"];
list:
{
document.write(cars[0] + "<br>");
document.write(cars[1] + "<br>");
document.write(cars[2] + "<br>");
break list;
document.write(cars[3] + "<br>");
document.write(cars[4] + "<br>");
document.write(cars[5] + "<br>");
}
</script>
// 结果
BMW
Volvo
Saab
6.document.getElementById(‘id’) / “id”
id必须被括起来
示例:
// 正确 点击的时候能隐藏
<button type="button" style="color: blue" onclick="document.getElementById('id').style.visibility='hidden'">点我隐藏</button>
// 错误 点击的时候因为找不到对应的元素 所以没有隐藏
<button type="button" style="color: blue" onclick="document.getElementById(id).style.visibility='hidden'">点我隐藏</button>
7.函数写在header 和body 和外面的区别
例如写一个时钟,需要绑定onload()方法,
那么这个函数就应该写在header中,而后绑定事件写在header最下。
另个一例子就是用户进入页面就判断cookie,而后做相应操作
即是:
需要启动就加载的函数写在header里面