javascript解析器被称为javascript引擎。
1.主要作用:
a.有规律的重复的HTML文本简化,减少下载时间
b.能及时的响应用户操作,例如表单的及时校验操作
2.使用范围:
a.使用<script></script>标记,在HTML的任何地方都可以使用
b.如果使用框架,需要在<frameset></frameset>之前使用,否则不执行。
c.把脚本代码单独放到一个.js文件中,在html文件中用<script src="a.js"></script>嵌入到html页面上。
3.javascript语法:
包含运算符、变量、表达式、方法、对象、判断与循环语句,注意javascript区分大小写
4.变量命名规范:
a.变量必须以字母开头,变量也能以$和_符合开头(不建议这样用)
b.变量名称区分大小写
5.数据类型:
null、undefined、布尔、数字、字符串、数组、对象
a.字符串类型:可以使用单引号,也可以使用双引号,在双引号里面还可以使用单引号。
b.数字类型(Number.js)
三个常用函数可将非数字类型转换为数字类型,分别是:Number();parseInt();parseFloat();
string到数字类型转换原则:parseInt() 和parseFloat();//表示将非数字类型如果以是int或是float开头的,结果都转换
为以int或float开头的int或float类型,否则为NaN,Number()则是单一类型的转换,夹杂的话会直接转换为NaN。
NaN是Number的一个属性,可以用Number.Nan来获取值,是js中一个比较特殊的对象属性。NaN不是一个是数字,但具有一些数字的特征。
b1.Nan(tpeofNaN)的类型是Number
b2.NaN!=NaN 结果为true;
b3.NaN+数字=NaN;
b4.NaN+字符串'=NaN字符串
c.布尔 true或者false
d.数组
声明形式:a.使用new关键字 eg:var a=new Array(); eg:var aa=new Array('1','2a'); //分别a空数组和aa非空数组
b.使用中括号 eg:var b=[]; eg:var bb=[1,2,3];
数组赋值:a.下标赋值 eg:var c=new Array(); c[0]=1; document.write(a[0]);
b.使用Array的push()和pop()方法 eg:var d=new Array(); d.push(1);d.push(2);d.pop(); //相当于栈操作,push和pop操作都是从栈顶元素开始
e.对象
形式如:var object_name={attribute:value1,attribute:value2,……,attribute:valuen};
eg:var person={id:1001,name:'zhangsan',age:23}; alert(person.id+" "+person.name);
f.undefined
表示变量不含有值或者未定义
g.null
null对象,可设置变量的值为null清空,清空还可以var a="";
6.运算符
算术运算符、逻辑运算符、赋值运算符
除了多了一个全等“===(值和类型)”逻辑运算符,其它和java一样的使用,也有三目运算符哦。
7.js条件判断语句
a.if(判断表达式){}
b.switch
c.for(初始变量;约束条件;循环增量){}
d.do{执行语句}while(约束条件);
e.break和continue语句
8.js函数
js函数定义不能定义函数的返回值,参数可以定义多个,但是不需要定义参数的类型。
js函数声明形式: function function_name (){ 函数体; return 表达式;}
常用系统函数
a.eval(); //用于计算并返回一个表达式的值
b.parseFloat(floatstring); //返回浮点数
c.parseInt(numberstring); //返回整数
d.typeof(); //返回变量数据类型(如:number、String、boolean、object、function和undefined)
e.isNaN //检查一个字符串是否是非数字。
定时器:window.setInterval(毫秒,函数); //1000=1s;
9.对象
9.1常用内置对象
a.var a= new String('aa'); //可传入参数到构造函数中,a="aa";
b.length //主要属性
c.主要方法
substr(startIndex,length); //截取子字符串,下标从0开始
substring(startindex,endindex); //截取子字符串,下标从0开始,左背右开
toLowerCase(); //将字符串全部转换为小写字符
toUpperCase(); //将字符串全部转换为大写字符
indexOf(character,index); //返回字符的下标,若index大于character实际的下标返回-1,否则返回实际下标。3
d.字符显示控制
Big(); //大字体显示
Italics(); //斜体显示
bold(); //粗体显示
small(); //小字体显示
fixed(); //固定高亮字显示
fontsize(size); //控制字体大小,size为整型
fontcolor(str); //字体颜色
9.2日期对象
不带参数的是一个系统时间,不能带参数指定时间,如果指定时间需要设置日期时间函数
补充: javascript常用对象
Window对象是javascript引擎产生的对象层级中的顶层对象。window对象代表一个浏览器窗口或一个框架。window对象会在<body>或<frameset>每次出现时被自动创建。
1.常用属性:
a.document //指dom模型的文档对象
b.History //history对象 只读
c.innerHeight //返回窗口的文档显示区的高度
d.innerWidth //返回窗口的文档显示区的宽度
e.opener //返回创建此窗口的引用
2.常用方法:
a.alert('alert info') //警告窗口
b.confirm('info') //确认窗口,常用于修改和删除,有是和否两个
c.prompt('','') //用户输入窗口,第一参数是提示信息,第二个参数是文本框里面的默认值
d.open(url,name,features,replace); //打开一个页面
e.showModalDialog(url[,arguments][,features]); //与opent一样
f.setInterval(); //定时器
g.clearInterval(); //取消由setInterval()设置的timeout
3.history对象
a.window.history.go(-1); //访问用户浏览器框框已经访问的URL,有go(-1)和back()、forward()和go(1)等三个方法
b.window.history.length //返回浏览器历史列表中的url数量
c.history.go(number|URL); //访问历史记录里存在的页面
a.alert('info') //警告框 b.confirm('confirm info'); //确认框 c.prompt('parameter');//输入信息框
eg:1.alert(88);
2.var a=confirm('info'); if(a==true){document.write(new Date()); window.location.href='http://www.sohu.com';}
else{document.write(new Date().getHours());}
3.var number=prompt('info',''); document.write(number);
DOM(Document Object Model)
1.Dom模型将HTMl文档中的每个元素看成是一个节点。
1.a 整个文档是一个文档节点
1.b 每个HTML标签是一个元素节点
1.c 包含在HTML元素中的文本是文本节点
1.d 每一个HTML属性是一个属性节点
1.e 注释属于注释节点
补充:a.除了文档节点之外每个节点都有父节点。如<head>和<body>的父节点是<html>,文本内容“Hello”的父节点是<p>。
b.如果节点们共享同一个父节点,它们就是同辈(同级节点)。如<h1>和<p>是同辈,因为它们的父节点均是<body>节点。
2.访问dom模型中的节点
2.a document.getElementById('tab'); //根据id
2.b document.getElementsByName('stu'); //根据name属性值,返回的是一个数组
2.c document.getElementsByTagName('div'); //根据标签来,返回的是一个数组
<!-- 得到table[4*4表格]
function Ceng() {
document.getElementById('ceng').style.display = 'block';
document.getElementById('close').style.display = 'block';
return false;
}
function closeCeng() {
document.getElementById('ceng').style.display = 'none';
document.getElementById('close').style.display = 'none';
return false;
}
tab=document.getElementById('tab');
//得到表的tbody 移除tbody,tab=document.getElementById('tab'); tbody=tab.children[0]; tbody.parentNode.removeChild(tbody);
//得到表的行(下标从0开始,第二行)
tab=document.getElementById('tab'); var tbody=tab.children[0]; var row=tbody.children[1]; row.parentNode.removeChild(row);
//得到某一行某一列单元格
tab=document.getElementById('tab'); var body=tab.children[0]; var tr=body.children[1]; var td3=tr.children[2]; td3.parentNode.removeChild(td3);
-->