一、简述
- JavaScript是由Netscape公司开发的基于对象的脚本语言,主要用于交互式页面的开发。
- 脚本语言:一种不需要编译就可以被解释执行的编程语言。
- ECMAScript是JavaScript的标准,JavaScript是ECMAScript的实现。
二、JavaScript的应用领域
- 在前端网页的交互性
表单校验
页面修饰与特效
制作导航系统
执行基本的算数运算
动态文档生成
操作结构化文档 - 在服务器端作为服务器脚本程序
JavaScript的特点:一种解释性语言
不需要编译,在程序运行时解释执行。
三、将JavaScript添加到XHTML的方法-----------事件处理程序和伪URL(行内脚本)
- 什么是事件处理程序
在网页元素发生特定事件,例如单击等,js提供对该事件要执行操作的程序,被称为事件处理程序。
监听器on,一般为 on名称
事件处理程序示例:- 简单代码
<input type="button" id="" value="按钮1" onclick="alert('hello world!');" />
- 调用函数
<input type="button" value="Press Me" onclick="sayHi();"/>
- 简单代码
- 伪URL示例:
- 简单代码
<a href="javascript: alert('hello world');">click</a>
- 函数调用
<a href="javascript:sayHi();">按钮2</a>
- 简单代码
四、将JavaScript添加到XHTML的方法---------内嵌式
`<script type="text/javascript">
JavaScript代码
........
</script>
注意:最新的js已经不需要写type属性`
五、将JavaScript添加到XHTML的方法---------外部脚本
<script>元素
优点:结构表现行为分离
<script type="text/javascript" src="js/new_file.js"></script>
HTML5的js导入外部js文件写法为:
<script src="danger.js"></script>
注意:
#再导入外部js的<script>
元素内不能写js代码
#如需在网页中导入外部js后还要添加js代码,请重新添加<script>
元素内嵌脚本。
六、JavaScript技术体系
-
核心语言定义
1)变量:内存中的一块存储空间,用于在程序运行期间存取数据
2)变量的使用三步骤:变量声明 、变量赋值、 变量使用
3)js中变量的适用语法:
var 变量名 [= 变量值] ;
注:javascript是一种弱类型语言(变量声明不需要指定数据类型,变量的类型由变量值决定)
例如:var a = 5 ;
var b = “abc” ;
4)全局变量和局部变量:
A、什么是全局变量
在脚本中,所有函数或者语句块之外定义的变量,
B、局部变量
写在函数中或者语句块中。
C、作用域
指一个变量的有效适用范围(在脚本程序中),既为变量的作用域。
D、全局变量和局部变量的作用域:
d-1:全局变量的作用域
在全局变量声明的那个<script>
标记的任何位置都可以用(如果是外部脚本,那么就是整个脚本文件都可以使用)
在去全局变量声明的那个<script>
标记后的其他<script>
标记也可以被使用。
在去全局变量声明的那个<script>
标记后的其他<script>
标记也可以被使用。
d-2:局部变量的作用域:
在声名局部变量的那一对{}中的任何位置都可以使用
5)数据的类型
a、原始类型(基本类型):
----------- number(数值)类型
----------- undefined类型(未定义)
----------- null类型(空)
----------- Boolean类型(布尔真假)
----------- string类型
b、对象类型:
----------- object:除了以上五种原始类型外的数据都是对象类型。
6)变量的命名规范
(1)变量名必须以字母开头
(2)也能以$和 _符号开头(一般不推荐)
(3)变量名称对大小写敏感
(4)驼峰命名法:firstName
---------------------------------------简单示例程序----------------------------------<html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script type="text/javascript"> // var num=5; // alert("num="+num); // num = "林科大"; // alert("num="+num); // var a= 5;//全局变量 function method1(){ var b= 6;//局部变量 alert("a="+a+"\t b="+b); } alert("a="+a); method1();//调用 </script> </body> </html>
7)js数据类型
-
number型:
-JavaScript不区分浮点型和整型
-在JavaScript直接写一个数字我们称为数字直接量
-整数表示:
支持十进制:5,12
支持十六进制:0xff
部分标准支持八进制:0377:注意:在ECMAscript6.0中不支持
-浮点数表示:
3.14
2345.789
.333333或者0.333333
6.02e23
1.47E-32
-数字预定义变量Infinity(正无穷大)和NaN(非数字)
注意:Infinity(正无穷大)和NaN与任何值都不相等,包括自身。 -
String字符串
由一组字符串组成的不可变的有序序列
字符串有长度,基本方法:“ab”.length,字符串长度为0表现为"",直接在js中写"abc"为字符串直接量
字符串的字符具有索引从0开始
字符串的每一个字符都可以由Unicode字符表示(其表示为一个16伟字符)
转义字符:请参考其他手册 -
Boolean类型:
-布尔类型的值只能是真或者是假,在js中使用true和false表示
-布尔类型数据通常用于分支结构和循环结构中充当条件使用
-例如
if(xxxx==xxxx){
。。。。。
} -
null类型
null为js的关键字,对null使用typeof运算,结果为object,所以认为null为一种对象 -
undefined未定义类型
undefined也表示空值,但是其含义更加具体,表示变量声明为初始化
undefined是预定义全局变量,不是js关键字
以下情况会获得undefined值
-------对象属性或者数组元素不存
-------函数没有返回值
-------函数的形参没有提供对应的实参而被使用
注意:undefined和null使用==
比较为true,使用===
才为false
8)运算符
- 赋值运算:
=
- 算数运算:
+ - * / %
- 自增自减运算:
++ --
- 扩展赋值运算:
+= -= *= /+ %=
- 字符串拼接运算:
+
- 关系运算:
== != > < >= <= ===
9)逻辑运算符
提前备注:|和|| &和&&当为单个的时候会将两边都判断
基本:&& || !
三元条件:(a>b)?a:b;
typeof运算符(语法:typeof 变量或值)
instanceof运算符(语法:a instanceof b)10)数据类型转换
把不同类型的数据转换成相同的数据类型,这个过程就叫做数据类型的转换。
隐式转换
略
显式转换
强制数据类型转换,- parseInt()和parseFloat()
语法:var a = parseInt(‘2’) - Number(),Boolean(),String()
语法:var num = Number(‘242’);
-