1:html中使用js的两种方式(内联方式)
(1)使用javascript:前缀执行js代码,例如:<a href="javascript:alert('运行js');">javascript前缀运行js</a>
(2)使用<script/>方式引入,例如:<script type="text/javascript" >alert ("直接运行js");</scirpt>
2:html引入js文件方式
<script type="text/javascript" src="test.js"/>,src指定js所在文件的url,可以写绝对路径,也可以写相对路径。
3:js的数据类型和变量注意事项
(1)js中定义变量有隐式定义,显示定义
例如: 隐式:a="hello"; alert(a);
显示:var a="hello"; alert(a); 显示声明方式都采用var关键字声明,可以无初始值;js中的变量区分大小写,a和A表示 不同的变量;可以一次性声明多个变量,例如:var a,b,c; var a, b=2,c=3;
(2)类型转换
js支持自动类型转换,例如 : var a="3.22"; var b=a-2; var c=a+2; 输出结果: b=1.22, c=3.222
a变量是字符串(用双引号括起来),a和数值执行减法,a自动转换为数值类型。但是执行+,因为字符串可用加号作为连 接运算符,所以系统自动将数值转换为字符串。 如果想要执行算术的+,可以使用函数 parseFloat(a),将a转换为float类型进 行计算。
toString(b),将布尔值,数值等转换为字符串,
parseInt()将字符串,布尔值,字符串转换为整数
(3)变量
全局变量和局部变量。定义在函数外的为全局,函数内为局部
例如:
var test ="全局变量";
function check(){
var test ="局部变量";
alert(test);
}
此时输出局部变量,局部变量会覆盖同名的全局变量。
注意这种情况:
var test ="全局变量";
function check(){
alert(test);
var test ="局部变量";
alert(test);
}
此时输出:undifined,局部变量。因为局部变量在整个check函数内有效,第一次alert是test无值,所以undifined。
定义变量用var和不用var的区别:
如果使用var定义,程序会强制定义一个新变量;不使用var,系统会优先在当前上下文中搜索是否存在该变量。只 有该变量不存在的前提下才创建一个新变量。上述例子存在test变量,但执行到第一个alert时还没被赋值,所以输出
undifined。