js全称呼:JavaScript 是一种解释行语言
DOM:文档对象模型。 0级DOM也被称为BOM
window
document loaction(当前页面的url) history(以前访问的页面地址) navigator(浏览器类型,版本兼容)-----
任何没有指明对象的方法调用默认指向window(window.alert()==alert)
2//js文件的后缀是.js。但是实际情况代码文件可以是任何的后缀,浏览器都会当成js
使用html 风格的注释可以放置老版本的浏览器将其当做源码
var productNmae(驼峰命名)=“Hello!”
三种弹出框:
history
location
navigator
appName
appCodeName
appVersion
Language
cookieEnabled
cpuClass
onLine
Platform
var mydate = new Date()
var year = mydate.getFullYear() //四位数字表示年份
var month = mydate.getMonth() //月份 0~11 0表示1月
var date = mydate.getDate() //日期 1~31
var day = mydate.getDay() //星期,0~6 0是星期日
var hours = mydate.getHours() //小时 0~23
var minutes = mydate.getMinutes() //分,0~56
var seconds = mydate.getSeconds() //秒 0~56
math对象可以不用创建就使用
with(math){
var myRand = random();//默认方法的代码块与math关联
}
数值
var mayArry = new Arry();
var mayArry=[];
初始化
var myArry=['12','12'];
var mayArry=[];
myArry[0]='12';
myArry[1]='12';
属性
myArry.length;
concat()//返回新的数组
join("-")返回以-连接的数组字符串
myArry.join();//1212
myArry.join('-');//12-12
tostring() 返回以,分隔的数组字符串
indexOf()
lastIndexOf()
slice(index,num)//提取数组的子集.返回一个数组
myArry.slice(0,1)//1
sort()
splice(index,howmany,[new elements])//删除起始地址,个数,添加的新元素,返回值为删除的数,是个数组
if()
x=2//赋值
if(x=='2')//true,字符串被解释为数值2
if(x==='2')//false,数值类型不同
if(){
}else{
};
(条件)? ture:false;
switch(){
case :
语句
break;
case :
语句
break;
default :
语句
}
**循环语句**
while(){
}
do{
}while();
for(){
}
for( i in day)//对象集里面循环
定时器
cleartime=setTimeout(action,delay);
cleartime=setInterval(action,delay);
myNewObject=new Object();//创建空白对象
mynewObject.info="11111111";//添加属性
/*function myFunction(){
alert(this.info);
}
myNewObject.showInfo=myFunction;//函数关联到对象是不用括号,否则就是执行函数返回值赋予*/
myNewObject.showInfo=function() {
alert(this.info);
}
myNewObject.showInfo()//调用方法
构造函数
function my(name,sex.gex){//参数
this.info=;
this.showinfo=function(){
}
}
my.prototype.sayHello=function(){
}//扩展,添加新的方法
继承
dog.prototype=new pet();dog实例就可以使用pet的方法,属性
封装
nodetype节点类型
childNodes当前节点直接子节点的集合
firstchild/lastchild
parentNode父节点
nextSibing/previousSibing后一个/前一个兄弟节点
nodeValue节点的值,一般是文本节点
nodeName
getElementsByTagName()//返回该对象包含指定标签一个集合
getElementsByClassName()//ie9不支持
getAttribute("")读取属性值/setAttribute()设置 属性值
var mynode = document.getelementById("id1")
mynode.getAttribute("title")//返回改元素的title属性的值,若没有则是null
节点操作
createElement(“div”)//创建元素
createTextNode()//创建文本
要复制的节点.cloneNode(true)复制节点,ture复制包括子节点,复制后要修改id
父节点.appendchild()//子节点列表的末尾
父节点.insertnodex(newpara,para1)//插到选定节点的前面
父节点.replaceChiid()//替换节点
父节点.removeChild();//删除子节点
去序列化:字符串还原为JavaScript代码,json对象
eval()
var user='{"username":"pathname","location":"Spain"}';
var myObject=eval('('+user+')');//字符串必须包在括号里
使用浏览器对json的支持
myObejct=json.parse(user);
for(i in myObejct){
out+= i+"="+maObject[i]+"\n";//i是键
}
json序列化:数据转为方便传输的形式;json字符串
var Dan = new Object();
Dan.height = 18.5;
Dan.age=41;
JSON.stringify(Dan)
"{"height":18.5,"age":41}"
模拟关联数组
var con={
"stratday":"moday",
"endDay":"Wendnesay"
}
con[startday]=con.startday//monday;
使用JSON创建对象
var myobject={
"stratday":"moday",
"endDay":"Wendnesay",
"setName":function(){
},
"booklist":["Dune","Eon"]
"booklist2":[{"Dune":"","Eon":""},
{"Dune":"","Eon":""}//包含其他对象
]
}