基本语法
与HTML结合方式
1、内部js:
定义<script>标签内容就是js代码
2、外部js:
定义<script>通过src属性引入外部的js文件
3、注意
1.<script>可以定义在html页面的任何地方,但是定义的位置会影响执行顺序。
2.<script>可以定义多个
注释
1、单行注释
1、单行注释://注释内容
2、多行注释:/*注释内容*/
数据类型
1、原始数据类型
1)number:数字。整数/小数/NaN(not a number 一个不是数字的数字类型)
2)string:字符串。“asdf“ "a" 'fds'
3)booolean:true ro false
4)null:一个对象为空的占位符
5)undefined:未定义。如果一个变量没有给初始值,则会被默认赋值为undefined
变量
变量:一小块存储数据的内存空间
Java语言时强类型语言,而JavaScript是弱类型语言。
1、强类型语言:在开辟变量内存空间时,定义了空间将来存储的数据类型,只能存储固定类型的数据
2、弱类型:在开辟变量空间时,不定义看空间将来的存储数据类型,可以放任意类型的数据。
语法:
var 变量名 = 初始值;
typeof运算符:获取变量的类型
注:null运算后得到的是object
运算符
1、一元运算符
++ -- +(正号) -(负号)
++(--)在前,先自增(自减),再运算
++(--)在后,再运算,先自增(自减)
2、算数运算符
+ - * / % ...
3、赋值运算符
= += -+....
4、比较运算符
> < >= <= == ===(全等于)
5、逻辑运算符
&& || !
6、三元运算符
? :
流程控制语句
1、if …else…
2、switch:
* 在Java中,switch语句可以接受的数据类型:byte int shor char 枚举(1.5) string(1.7)
* javascript中所有都可以
3、do … while
4、for
基本对象
*function:函数(方法)对象
1、创建:
1)var fun = new Function(形式参数列表,方法体);//了解
2)function 方法名称(形式参数列表){
方法体
}
3)var 方法名 = function(形式参数列表){
方法体
}
2、属性、
length:代表形参的个数
3、特点:
1)方法定义是,形参的类型不用写,返回类型也不写
2)方法是一个对象,如果定义名称相同的方法,会覆盖
3)在JS中,方法的调用只与方法的名称有关,和参数列表无关
4)在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数
4、调用:
方法名称(实际参数列表);
*Array:数组对象
1、创建:
1)var arr = new Array(元素列表);
2)var arr = new Array(默认长度);
3)var arr = [元素列表];
2、方法:
1)join(参数):将数组中的元素按照指定的分隔符拼接为字符串;
2)push():向数组的末尾添加一个或更多个元素,返回新的长度;
3、属性:
length:数组的长度j
4、特点:
1)JS中,数组元素的类型是可变的
2)数组长度是可变的
*Math:数学
1、创建:
特点:Math对象不用创建,直接使用。Math.方法名();
2、方法:
random():返回0~1之间的随机数。含0不含1
ceil(x):对数进行上舍入。
floor(x):对数进行下舍入
round(x):把数四舍五入
3、属性:
PI
*正则表达式
1、正则表达式:定义字符串的组成规则。
1)单个字符:[]
如:[a],[ab](a或b),[a-zA-Z0-9](a到z或A到Z或0到9)
特殊符号代表特殊含义的单个字符:
\d:单个数字字符[0-9]
\w:单个单词字符[a-zA-Z0-9]
2、量词符号:
?:表示出现0次或1次
*:表示出现0此或多次
+:出现1次或多次
{m,n}:表示 m<= 数量 <= n
m如果缺省:{,n}:最多n次
n如果缺省:{m,}:最少m次
3、正则对象
1)创建
1>var reg = new RegExp("正则表达式");
2>var reg = /正则表达式/;
2)方法:
text(参数):验证指定的字符串是否符合正则定义的规范
3)开始结束符号
^:开始
$:结束
*Global对象
1、特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。方法名()。
2、方法:
encodeURI():url编码
decodeURI(): url解码
encodeURIComponent():url编码,编码的字符更多
decodeURIComponent():url解码
parseInt():将字符串转换为数字
*逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转换为number
isNaN():判断一个值是否是NaN
*NaN六亲不认,连自己都不认。NaN参与的==比较全部为false;
eval():将JavaScript字符串转化为JavaScript脚本代码来执行
3、URL编码
安格龙 = %E5%AE%89%E6%A0%BC%E9%BE%99
BOM
DOM简单学习:为满足案例要求
*功能:控制html文档的内容
*代码:获取页面标签(元素)对象Element
*document。getElementDyId("id值"):通过元素的id获取元素对象
*操作Element对象:
1、修改属性值:
1)明确获取的对象是哪一个?
2)查看API文档,找其中有哪些属性可以设置
2、修改标签体内容:
*属性:innerHTML
1)获取元素对象
2)使用innerHTML属性修改标签体内容
1、概念:浏览器对象模型
*将浏览器的各个组成部分封装成对象
2、组成:
*window:窗口对象
1.与弹出框有关的方法:
alert():显示带有一段消息和一个按钮的警告框。
confirm() :显示带有一段消息以及确认和取消按钮的对话框。
*如果用户点击确定按钮,则方法返回true
*如果用户点击取消按钮,则方法返回false
prompt() : 显示可提示用户输入的对话框。
*返回值:获取用户输入的值
2、特点:
*window 对象不需要创建可以直接使用 window使用,window.方法名();
*window引用可以省略。 方法名();
与打开关闭有关的方法:
close() 关闭浏览器窗口
谁调用我我就关谁
open() 打开一个新的浏览器窗口
返回一个新的window对象
setTimeout():在指定的毫秒数后调用函数或计算表达式。
*参数:
1、js代码或方法对象
2、毫秒值
*返回值:
返回唯一标识,用于取消定时器
clearTimeout():取消有setTimeout()方法设置的timeout
setInterval():按照指定的周期(以毫秒计)来调用函数或计算表达式。
clearInterval():取消由setInterval()设置timeout
*History:历史记录对象
*Location:地址栏对象
1、创建:
1)window.location
2) location
2、方法:
*reload() :重新加载当前文档。刷新
3) 属性:
*href : 设置或放回完整的URL
DOM
Document.文档对象
1、创建(获取):在HTML dom模型中可以使用window对象来获取
1)window.document
2)document
2、方法:
1)获取Element对象:
1.getElementById(): 根据id属性值获取元素对象。id属性一般唯一
2.getElementByTagName():根据元素名称获取元素对象,返回值是一个数组
3.getElementByClassName():根据Class属性值获取元素对象,返回值是一个数组
4.getElementByName():根据namne属性值获取元素对象。返回值是一个数组
2、创建其他DOM对象:
createAttribute(name)
createComment()
createElement()
createTextNode()
3、属性:
*element:元素对象
1)获取/创建:通过document来获取和创建
2)方法:
1.removeAttribute():删除属性
2.setAttribute():设置属性
*Node:节点对象,其他5个父对象
*特点:所有dom对象都可以被认为是一个节点
*方法:
*CRUD dom树:
*appendChild():向节点的子节点列表的结尾添加新的子节点
*removeChild():删除(并返回)当前节点的指定子节点
*replaceChild():用新节点替换一个子节点b
*属性:
*parentNode:返回节点的父节点
事件
事件的简单学习
*功能:某些组件被执行了某些操作后,触发某些代码的执行。
*造句:XXX被XXX,我就XXX
我被打了,我就要打回去
*如何绑定事件
1、直接在html标签上,指定事件的属性(操作),属性值就是js代码
1)事件:onclick ----- 单击事件
onload和onunload事件会在用户进入或离开页面时被触发
onchange事件常结合对输入字段的验证来使用
onmouseover和onmouseout事件可用于用户的鼠标移至HTML元素上方或移除元素是触发函数。
onmousedown、onmouseup以及onclick事件:
1.当点击鼠标按钮时,会触发onmousedown事件
2.当释放鼠标时,会触发onmouseup事件
3.当完成鼠标时,会触发onclick事件