js基础总结
自己在学习时小小总结了一下:(用md格式转换过)
JavaScript总结
1、简介
js是一种脚本语言(脚本是指能完成某些功能的程序段),可以嵌入HTML页面,被浏览器解释执行,使网页具有动态效果和交互功能。
特点:基于对象的,简单的,安全的(不能访问本地磁盘以及服务器),动态的(通过事件相应),跨平台的(仅依赖于浏览器,与操作平台无关)。
2、js语法基础
语法格式
<script language="javascript" runat="server">
<!--
//-->
</script>
其中runat可以省略表示在客户端执行,<!-- //-- >则是防止浏览器报错。
使用方法
1、在< body>标签中嵌入
2、在< head>标签中嵌入(在后面可以多次调用)
3、引用外部的js文件
//把js文件放在相应的路径
<script src="demo1.js"></script>
语句
以 ; 为语句结束(不严格)。
以{}为语句块。
//单行注释。 /.../多行注释。
数据类型
1、基本数据类型:
数值型:(整型或浮点,前面加0d为二进制0x为十六进制0为八进制,科学计数1.5e2为150)
字符型:用""或''表示
布尔型
2、复合数据类型:数组、对象
3、特殊数据类型:空值null(不同于0和空格)、undefined型
变量
变量名区分大小写,字母或下划线开头,后面可为字母下划线或数字。不能用已有的40多个关键字命名。
在js中,所有变量都用 var 声明。也可以不声明直接赋值。
变量的作用域:全局变量为整个程序范围,局部变量只在函数体内。生存期同作用域。
常量
转义字符:
\b退格 \n回车换行(html中用<br/>换行) \tTab符
\f换页 \' \"单双引号 \v跳格 \r换行 \\反斜杠
运算符与表达式 同其他高级语言
控制结构
1、顺序
2、分支
//if型
if(){...}
else if(){...}else{...}
//switch型
switch(){
case.. : ...;
case.. : ...;
default: ...;break;}
3、循环
//while型
while(){...}
或
do{...}while();
//for型
for(){...}
4、跳转
//break 跳出整个循环
//continue 跳出本次,继续重新执行循环
函数
定义
<script language="javascript">
function fun_name(){}
</script>
函数调用:
1、直接调用
2、事件响应中调用
<html>
<head>
<script language="javascript">
function fun1(){alert("hello!");}
</script>
</head>
<body>
<input type="button" value="问候" onclick="fun1()">
</body>
3、通过超链接调用
<a href="javascript:fun1()">点击查看</a>
或
<a href="#" onclick="fun1()">点击查看</a>
js输出数据:
使用 window.alert() 弹出警告框。
使用 document.write() 方法将内容写到 HTML 文档中。
使用 innerHTML 写入到 HTML 元素。
使用 console.log() 写入到浏览器的控制台。
3、js对象编程
对象的引用
//student是系统内置对象Object的一个实例(new用于创建对象的实例)
var student=new Object();
student.name="Tim";
//自定义对象(this指针用于指定当前对象)
function Student(no,name,age){
this.no=no;
this.name=name;
this.age=age;
this.getname=function(){return this.name;}
var stu1=nes Student("001","Peter","20");//也可用stu1["no"]="001"赋值;
//对象方法的引用
stu1.getname();
内置对象
在javascript中有4类对象:内置对象、浏览器BOM对象、HTML DOM对象和自定义对象。
String对象:字符串,属性只有length,方法有很多。
Array对象:数组对象。
Date对象:实现对时间和日期的控制。
Math对象:不用先new,直接用Math.来使用其方法。
浏览器BOM对象
浏览器对象模型BOM是js操作浏览器的各个功能的接口。
Window窗口对象:控制窗口位置大小,对话框等。
Navigator浏览器对象:储存浏览器信息的对象。
Sreen屏幕对象:反映当前用户屏幕设置信息。
Location地址对象:当前窗口装载文档的URL。
History历史对象:存储最近访问网页的URL地址表。
Document文档对象:表示浏览器窗口中的页面文档。
HTMl DOM对象
文档对象模型DOM是用于XHTMl、XML文档的接口,使HTML文档以结构化的方式显示。
DOM树节点有12种,常用的有文档、元素、属性、文本和注释5种。
自定义对象
4、事件处理
常见事件:
鼠标事件:
onclick:鼠标点击时触发 onmousedown:按下鼠标时触发 onmouseup:按下后松开鼠标时触发
onmouseover:鼠标移动到此处 onmousemove:鼠标移动时触发
键盘事件: onkeydown:按下某键时触发
页面事件: onload:页面加载后触发 onunload:页面关闭时触发 onerror:出错时触发
事件对象:
keyCode:按键的unicode值 button:0无 1左2右4中
ctrlKey\shiftKey\altKey:判断是否同时按下组合键
<html>
<head>
<meta charset="utf-8"/>
<title>事件响应例子</title>
<script>
function test1(){window.alert("你好");}
function test2(){document.write("hello again!");}
</script>
</head>
<body>
<input type="submit" onclick="test2()">
<br/><br/><br/><br/><br/>
<div style="background: black;" onmousemove="test1()">
按钮
</div>
</body>