开头
之前被人问了一个问题
就是
<script language = "JavaScript"
<script type="text/javascript"
有什么区别。 当时就被震住了。 尼玛这还有区别
查了查
http://www.w3school.com.cn/tags/att_script_type.asp
http://www.w3help.org/zh-cn/causes/BG9002
特别是第二个 详细的指出的浏览器支持问题
解决方案
为了保证脚本程序可以正常执行,除非特意使用仅 IE 支持的 VBScript 和 Script Encoder 机制外,应当将 SCRIPT 标记的 "type" 属性设置为 "javascript",
并且不要设置已经废弃的 "Languange" 属性。
go on
<script language="javascript">
function a() {
b = "a";
}
a();
alert(b);
</script>
其实关于 变量有一个问题
即使你在 函数内 如同上面那样声明变量。 他就会变成全局变量
但是 如果用var 申明就会有一个问题
<script language="javascript">
function a() {
var b = "a";
delete b;
alert(b);
}
a();
</script>
他依然会 弹出a。
如果用var 声明 delete 就会无效。
矮油另一个问题
var a= "1";
function func() {
alert(a);
var a= "2";
alert(a);
}
func();
然后你会发现 第一次alert(a); 弹出来的是 undefined 第二次 会弹出2
1 var a= "1";
2 function func() {
3 alert(a);
6 }
7 func();
这样就会显示 1~
为嘛会这样呢=。=
其实第一段代码 等同于
var a= "1";
function func() {
var a;
alert(a); //所以 相当于重新定义了a 自然是undefined
a= "2";
alert(a);
}
func();
小东西。
<script language="javascript">
var i, j;
i = 0;
j = "0";
alert(i === j);
</script>
=== 恒等于 ==等于
同上面 如果是=== 返回false ==相反
避免隐式类型转换
其实这东西以前在js 中都不是很 关注。 毕竟页面中的 js应用不多
一点点的效率损失 无伤大雅。 现在想来 呵呵呵呵呵。。
var a = 11, b = '22';
var c = a + b;
1 var a = 11, b = '5';
2 var c = a - b;
3 c 是数字类型