JavaScript(2)
JavaScript是基于对象和时间驱动的。
javascript是跨平台的。
(1)js位置?
js位置可以随意
(2)js必须用<script></script>包起来。
如果没有使用<script>包起来,浏览器会将其视为普通文本。
(3)在一个html文件中可以出现多对<script>片段。浏览器会按照先后顺序依次执行。
案例2:
<html>
<head>
<!--JS 代码一般是放在head标签间,但实际上也可以放在别的位置 -->
<script language="javascript">
window.alert("hello");
</script>
</head>
<body>
</body>
</html>
对前面的程序,改进成一个简单地加法运算程序。
<html>
<head>
<!--JS 代码一般是放在head标签间,但实际上也可以放在别的位置 -->
<script language="javascript">
//js中变量的定义(在js中变量用var表示,不管实际类型)
var num1=456;
var num2=89;
var result=num1+num2;
window.alert('结果是'+result);//alert函数
</script>
</head>
<body>
</body>
</html>
js的变量的这个类型究竟怎样决定。
(1)js是弱数据类型语言。
即:在定义变量的时候,统一使用var表示,甚至可以去掉var这个关键字。
(2)js中的变量的数据类型由js引擎来决定的。
js引擎看变量等式右边的数据类型来决定变量类型。
而且一个变量的数据类型可以进行变换。
javascript中的标识符
标识符是指Javascript中定义的符号,例如,变量名,函数名,数组名等。
JavaScript最困难的地方在于调试。不能用JavaScript保留字作为变量名。
JavaScript是严格区分大小写的。HTML不区分大小写。
JavaScript的格式
每条功能执行语句的最后必须用分号(:)结束,每个词之间用空格、制表符、换行或大括号、小括号这样的分隔符隔开。
js的命名规范(变量函数)
(1)使用大小写字母,数字,下划线_,$可以命名。
(2)不能以数字开头
(3)不能使用js的关键字/保留字。
(4)区分大小写。
(5)单行注释 // 多行注释 /* */
js执行原理:
浏览器发了一个请求到服务器,服务器把页面返回来,客户端(浏览器)再对代码进行执行的。
JavaScript有三大类数据类型
1.基本数据类型
(1)数值类型(整型和实型)。
举例:
var a=89;// a就是整数
var b=35.6;//就是小数
window.alert(parseInt(a));
Infinity(无穷大)
window.alert(6/0);
有两个函数可以用于判断NaN,infinity
可以用函数: isNaN(), isFinite()它们都是全局函数,分别用来检查一个变量是否不是NaN和infinity。
例如:
window.alert(isNaN("123"));
window.alert(isNaN("abc"));
window.alert(isNaN(123));
分别输出:false,true,false。
(2)布尔类型。
true和false
(3)字符串类型。
"a book of javascript", 'abc',"a",""。
字符串中的特殊字符,需要以反斜杠(\)后跟一个普通字符来表示,例如:\r、\n、\t、\b、\'、\"、\\xxx。
如:
var c="adaksdk\"jkasd";
如果没有斜杠会出错。
数据类型转换:
1.自动转换
var a=123;//a是数值
a="hello";//a的类型就是string
2.强制转换
var a=parseInt("123");
但是这样不行:var a=parseInt("abc");
比如:
var a="1234";
a=parseInt(a);//使用系统函数强制转换
var b=90;
b=b+"";//b就是字符串了
js的运算符
+、-、*、/
%(取模 就是计算两个数的余数,通常用于判断两个数是否能够整除,主要用于整数)
案例:
var a=90;
var b=8;
if(a%b==0){
window.alert("能整除");
}else{
window.alert("不能整除");
}
++自加
--自减
++运算符
举例:
var a=56;
var b=a++ + ++a;
window.alert(a);
window.alert(b);
通过typeof可以看到变量的具体数据类型是什么。
JavaScript变量类型是可以动态改变,这就说明js是动态语言。
2.复合数据类型
(1)数组
(2)对象
(3)特殊数据类型:null和undefine.
var a=null;
undefined
如:windows.alert(tt);//tt未定义,报错
var aa;//aa至始至终都没有赋值
window.alert(aa);//弹出undefine;
1.整型常量(10进制\8进制\16进制)
十六进制以0或0x开头,例如:0x8a。
八进制必须以0开头,例如:0123。
十进制的第一位不能是0(数字0除外),例如:123。
特殊数值:NaN(not a number),Infinity。
prompt()方法用于显示可以提示用户进行输入的对话框。