写在前面
JavaScript语句是发送给浏览器的命令,这些命令的作用是告诉浏览器要做的事情。
是一门脚本语言,主流浏览器都支持js,可以让网页呈现各种动态效果,灵活的实现很多页面交互功能
使用<script>
标签在网页中插入JavaScript,一般放入head或者body中<script type = "text/javascript">
表示在<script></script>
之间的是文本类型text,javascript是为了告诉浏览器里面的文本是属于JavaScript语言。
引用js外部文件
文件后缀通常为.js。
在html中:<script src = "script.js"></script>
|
行的结束就意味着语句的结束,通常在结尾加上一个分号来表示语句的结束。可以不写,但是养成良好的编码习惯。
注释:
单行注释//
多行注释/**/
变量
用关键字var
var aima = 8;
可以重复赋值:
var aima = “aima”;
函数
语法:
function 函数名(){
函数代码;
}
输出内容
document.write() ,用于直接先html输出流写内容。
|
警告(alert消息对话框)
我们在访问网站的时候,有时候会弹出小窗口,这个窗口就是用alert来实现的
语法:
alert(字符串或者变量)
弹出消息对话框,肯定要包含一个确定按钮。
常用alert进行调试
DOM结构
DOM(文档对象模型)将html文档呈现为带有元素、属性和文本的树结构(节点树)。
通过id获取元素
document.getElementById(“id”) //返回结果null 或 object
innerHTML属性
innerHTML属性用于获取或替换HTML元素的内容
语法:
Object.innerHTML
eg:
通过id=”aima”获取
html代码:
<div id="aima"></div>
js代码:
document.getElementById("aima").innerHTML = " 爱码”
改变HTML样式
DOM允许JavaScript改变HTML元素的样式。
语法:
Object style.property = new style;
object是获取的元素对象。
property 基本属性表
eg:
改变div元素的样式,将字体颜色改为红色,字号改为12px.
并不是属性表中的属性和html中一样,比如上面的fontSize 和 html 中的font-size
控制类名(className属性)
className 属性设置或返回元素的class属性
语法:
object.className = classname
作用:
获取元素的class属性
为网页内的某个元素指定一个css样式来更改该元素的外观
html:<div id = "aima" class = "aimastyle"> Hello aimaonline!</div>
js: var aimaChar = document.getElementById("aima");
aimaChar.className = "newstyle"
js对象
对象拥有属性和方法:
属性是和对象相关的值,访问方式:对象名.属性名
如:str.length
方法是对象的相关动作,访问方式:对象名.方法名()
创建对象实例
这个例子创建了对象的一个新实例,并向其添加了四个属性:
上面的话可代替之:person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};
in循环
in语句循环便利对象的属性
输出:JohnDoe25
数字对象
数字不分为整数类型和浮点型类型,所有的数字都是由浮点型类型。
整数(不使用小数点或指数计数法)最多为 15 位。
小数的最大位数是 17,但是浮点运算并不总是 100% 准确:var x = 0.2+0.1;
// 输出结果为 0.30000000000000004
无穷大(Infinity)
当数字运算结果超过了JavaScript所能表示的数字上限(溢出),结果为一个特殊的无穷大(infinity)值,在JavaScript中以Infinity表示。同样地,当负数的值超过了JavaScript所能表示的负数范围,结果为负无穷大,在JavaScript中以-Infinity表示。无穷大值的行为特性和我们所期望的是一致的:基于它们的加、减、乘和除运算结果还是无穷大(当然还保留它们的正负号)。
NaN非数字值
NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。
你可以使用 isNaN() 全局函数来判断一个值是否是 NaN 值。
数字可以是数字或者对象
数字可以进行初始化 ,还可以对数字对象初始化
函数
- 函数表达式
var x = function(a,b) {return a*b};
以上函数是一个匿名函数(函数没有名称)。
函数存储在变量中,不需要函数名称,通常通过变量名来调用。 - function()构造函数
函数可以通过内置的函数构造器来定义,var myFunction = new Function("a","b","return a*b");
上面可以把new去掉,很多时候要避免new关键字。 自调用函数
函数表达式可以 “自调用”。
自调用表达式会自动调用。
如果表达式后面紧跟 () ,则会自动调用。
不能自调用声明的函数。
通过添加括号,来说明它是一个函数表达式:(function () {var x = "Hello!!"; // 我将调用自己})();函数定义作为对象的属性,称之为对象方法。
函数如果用于创建新的对象,称之为对象的构造函数。
函数参数
Arguments对象
如果函数调用时设置了过多的参数,参数将无法被引用,因为无法找到对应的参数名。 只能使用 arguments 对象来调用。
JavaScript 函数有个内置的对象 arguments 对象。
argument 对象包含了函数调用的参数数组。
通过这种方式你可以很方便的找到最后一个参数的值:
函数闭包
函数闭包可以实现对一个变量进行封装,比如一个计数变量,如果声明成全局变量当然谁都可以访问,如果让制定的函数来做,函数内的私有变量在调用函数时初始,在函数执行后会被销毁,那么无法完成基数,所以让函数只执行一次,通过函数内的函数来访问,便可以实现: