JavaScript特性
- 脚本语言。JavaScript是一种解释型的脚本语言,在程序的运行过程中逐行进行解释。
- 基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也 能使用现有的对象。
- 简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做 出严格的要求,是基于Java基本语句和控制的脚本语言。
- 动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务 器就可以对用户的输入做出响应。
- 跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。
JavaScript语法
1. 变量
在JavaScript中通过var关键字来声明一个变量,在使用的过程中可以赋任意值。 严格区分大小写。
2. 函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
-
函数声明
在JavaScript中通过function关键字来声明一个函数,在声明函数数不需要指定返回值类型和参数的类型
声明函数有以下两种方式:
//方式一: function fun(){ //函数体 } //方式二: var fun2 = function(var1,var2){ //函数体 return a * b; }
-
函数调用
调用JavaScript函数时系统不检查传入参数的个数和类型。
var result = fun2(1,"hello","JS"); alert(result);
3. 对象
JavaScript 对象是拥有属性和方法的数据。在 JavaScript中,几乎所有的事物都是对象。
-
对象的创建
//第一种,使用new Object()创建 var obj = new Object(); //第二种,使用{}创建 var obj = {};
-
为对象添加属性
//第一种,通过 对象.属性名 = “属性值” 添加 obj.name = "zhangsan"; obj.age = 12; obj.sum = function(a,b){ return a+b; } //第二种,使用{}创建对象时,直接向对象中添加属性 var obj = {"name" : "zhangsan","age" : 21, "sum" : function(a,b){ return a+b;} };
-
函数也是对象
在JavaScript中,函数也作为一种数据类型存在,而且是引用数据类型,函数名就是指向其内存空间地址的引用。
var a = function() { alert("A"); }; var b = a; a.fname = "tom"; alert(b.fname); //结果为tom alert(b);//alert a 的整体内容:function(){...} b();//A
函数执行
函数名 + ( )
段落
4. this关键字
-
在JavaScript函数中,this关键字指向的是调用当前函数的对象。
var obj01 = { name : "obj01 name", getName : showName }; var obj02 = { name : "obj02 name", getName : showName }; function showName() { alert(this.name); } obj01.getName();//结果为 obj01 name obj02.getName();//结果为 obj02 name
Javascript输出
JavaScript 可以通过不同的方式来输出数据:
window.alert()
使用 window.alert() 弹出警告框。
document.write()
使用 document.write() 方法将内容写到 HTML 文档中。
如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖。
我的第一个段落。
innerHTML
使用 innerHTML 写入到 HTML 元素。
使用 document.getElementById(id) 来访问 HTML 元素。 并 innerHTML 来获取或插入元素内容:
我的第一个段落
//document.getElementById("demo") 是使用 id 属性来查找 HTML 元素的 JavaScript 代码 。
//innerHTML = "段落已修改。" 是用于修改元素的 HTML 内容(innerHTML)的 JavaScript 代码。
console.log()
使用 console.log() 写入到浏览器的控制台。
JavaScript事件驱动
事件
用户事件:用户操作,例如单击、鼠标移入、鼠标移出等。
系统事件:由系统触发的事件,例如文档加载完成。
事件可以用于处理表单验证,用户输入,用户行为及浏览器动作:
页面加载时触发事件
页面关闭时触发事件
用户点击按钮执行动作
验证用户输入内容的合法性
自定义事件响应函数
从文档对象模型中获取控件对象[借助DOM API实现]
声明一个事件响应函数
-
将事件响应函数的引用赋值给控件对象的事件属性
例如:window.onload = function(){}
事件执行过程
声明一个函数:不执行
将函数绑定到指定元素的事件上:函数也不执行
-
触发元素的事件:函数执行
window 对象:代表当前游览器窗口;
onload事件:将整个文档加载后触发;
//4.当触发btnId的单击事件时函数才执行
取消控件默认行为
-
默认行为
[1]超链接跳转页面
[2]submit按钮提交表单
-
取消方式:return false
去dom查询页面
-
JavaScript嵌入方式
游览器加载顺序:按从上到下的顺序加载,遇到script标签先执行脚本程序,执行完成后再继续加载
-
写在标签的事件属性中,结构与行为相耦合,不建议使用
-
写在script标签中,script标签放到head标签中
无法获取body标签中的节点,使用window.onload=function(){},在页面加载完成后执行程序代码。
-
写在script标签中,script标签放到body标签后面,可以获取节点,但是不符合我们的习惯
-
引入外部js文件,script标签放到head标签中