avaScript是基于对象和事件的脚本语言,也就是说对象和事件都已经进行封装了而Java是面向对象的语言需要自己封装。
特点
1安全性(不允许直接访问本地硬盘),他可以做的就是信息的动态交互。
2,跨平台性(只要可以解释Js的浏览器就可以执行,和平台无关)
与Java的不同
1,JS是基于对象的,Java是面向对象的
2,JS只需解释就可以执行,Java需要先编译成字节码文件,在执行
3,JS是弱类型非严谨性语言,Java是强类型的严谨语言
JS与Html的融合方式
想要将其他代码融入到Html中,都是以标签的形式
1.JS代码存放在标签对<Script>....</Script>中
2.使用该标签的src 属性引入一个js文件。
<script src="test.js" type="javascript"></script>
注意规范中script标签中必须要加入type属性。
JS语法基础
变量
关键字var,JS是弱类型语言中并没有指定数据类型
var x=3;var x="名字"(单引号双引号都一样);
特殊常量值undefined;当变量没有被初始化的时候,默认值为undefined
JS中默认0就是false,1就是true,null就是false,非null就是true;1+true是能够运算的结果为2;
在JS中要连接另个判断必须要用双与&&和双或||
if调节语句
swtich语句,case语句可以接收各种类型的值,而java只支持byte short int char1.7版本之后支持string
while语句,JS循环中尽量不要写无限循环
for循环
数组
var arr=[4,6,8];数组的声明
JS中数组是可变长度的,且数据类型也不是固定的
函数
1.function 关键字
function show(形式参数){
alert("show run");
}
show();
var x=show();此处如果不加括号指向的是方法对象,加上括号就是方法调用执行后的结果。
alert(x);
函数内部默认有个arguments数组用来封装接收传进来的参数 ,一般参数都是直接定义方法上提高阅读性
2.动态定义
var show=new Function("x","y","var sum=x+y;return sum");//动态函数,使用Function对象创建方法
var sum = show(45);
alert(sum);
事件
事件可以通过匿名函数的方式处理
window.onload=function(){
alert("run");
}
非匿名
function show(){
alert("run");
}
window.load=show();
对象
JS中的对象都是通过方法来完成的
function Person(){alert("run");}
var p=new Person();
p.name=30;//添加属性直接加
p.chifan=function(){//对象中添加方法也是通过匿名方法来完成的
alert("chifan");
}
p.chifan();
alert(p["name"]+":"+p.age);这是调用属性的两种方式,前一种可以直接传递参数,后者是不可以的。
可以将JS代码封装到一个JS文件中,之后再链接该文件直接使用
JS用于操作对象的语句
with语句
with(对象){
内部区域可以随时使用该对象的属性,而不用再对象.属性使用。确定了对象的适用范围。
}
for in语句
for(s in stu){//遍历对象属性语句
alert(s+":"+stu[s]);//此处不能使用stu.s因为该对象中没有该属性,可以使用[]代替属性
}
for(x in arr){
alert(arr[x]);//遍历数组的脚标。而不是其中的元素
}
脚本语言可以在方法中操作HTML标签的
常用对象类似于java中的类,只要是这种对象都具有其中的方法和属性
String
Object
Array
Date
公用属性prototype返回对象原型引用,可以自定义功能。将方法对象传递给对象的自定义属性
Array.prototype.getMax=getMax;//此处getMax()是自定义方法,为了让Array对象调用该方法,通过prototype获得原类型引用,设置其getMax属性指向方法对象getMax;
var x=arr.getMax();此处就可以调用方法了。
DOM编程
document object model文档对象模型,将标记型文档及其中的所有标记性标签都封装成了对象,通过对对象属性和行为的操作来动态的实现功能
dom三层模型
dom1:将html文档封装成对象
dom2:将xml文档封装成了对象
dom3:将xml文档封装成了对象
将文档标签体系封装成对象DOM树体系,每次分叉都是一个节点,通过操作节点来实现快速的操作标签。
DHMTL 动态HTML,多种技术的结合体
HTML CSS DOM JAVASCRIPT
HTML负责将数据进行封装
DOM的出现将标签封装成对象
CSS负责标签中数据的样式
javaScript:将三个进行融合,通过程序设计方式来完成动态效果。
AJAX--DHTML+xmlHttpRequest
window对象
JS中所有事物都是封装成对象的
window对象是浏览器窗口对象
内部常用对象
navigator该对象包含有关访问者浏览器的信息和事件
location包含了当前URL的信息和事件
history包含了历史URL的信息和事件
screen
常用方法
alert消息对话框
close关闭窗口
confirm确认对话框
moveby(x,y)向右向下偏移
moveto(x,y)位置移动到指定位置
resizeby(x,y)
resizeto(x,y)大小
prompt(message,text)显示一个可输入的对话框
open()打开一个新窗口
setTimeout()设定时间窗口退出
常用事件
onload
onunload
常用属性
keyCode;获取键编码值
returnValue设置事件的返回值。
srcElement返回当前事件源对象。一般是节点对象。
getParentNode获得父节点对象
getElementsByTagName;根据名称获得下级节点数组
制定图形化界面效果的基本步骤
1,定义数据封装的标签(定义界面)
2,确定事件源
3,注册事件
4,事件处理
获取事件对象源的两种方式
1.通过event对象的srcElement属性
2。将事件源对象通过事件参数this传入。
3.通过上级关系获得上下级节点对象。
前面是基础之后要看的就是些具体标签的实际操作