JS中也存在很多的数据类型,总体上可分为基本数据类型和引用数据类型。
1、基本数据类型:(1)Undefined:Undefined类型只有一个值即undefined。当声明的变量未初始化时,该变量的默认值就是undefined。
(2)Null:只有一个值即null表示空,一个占位符。值undefined实际是从值null派生来的,因此ECMAscript把他们列为等值。
例如:alert(null == undefined); //true
虽然两个值相等但是表示的意义不同,null为空值,
undefined是未定义。
(3)Boolean:表示真假,只有两个值true和false。
(4)Number:表示任意数字,在JS中所有值类型统称为数字类型。
(5)String:字符串类型用单引号或者双引号赋值。
2、引用类型:引用类型通常叫做类(class),Javascript将引用类型转化为对象进行处理。
Javascript是基于对象而非面向对象。对象的默认值是null。
我们可以通过typeof(变量名)来查看一个变量所属的数据类型。
(二)变量命名语法:var 变量名 = 初始值; 或者 var 变量; var 变量1,变量2,变量3;
代码示例:
js的变量声明
效果图:
(三)运算符
1、一元运算符:++ 、--:符号在前,先自增(自减),再运算;符号在后,先运算,再自增(自减)
2、算术运算符:+ - * / % ++ -- 等。
3、赋值运算符:= += -= *= /= %= 等。
4、比较运算符:> 、< 、>= 、<=、==、!=、===(全等)、!==:类型相同直接比较,类型不同先转换再比较。
5、逻辑运算符:&&(短路与)、||(短路或)、!(非)
6、条件(三元)运算符:表达式 ? 值1 : 值2 (表达式为true取值1,表达式为false取值2)
以上所有运算符的使用与java类似。
(四)流程控制与java类似,不多叙述
(五)基本对象 1、Function函数对象1、创建方法的语法格式:
(1)var func = new Function(形式参数列表,方法体);
(2)function 方法名(形式参数列表){方法体}(推荐使用);
(3)var 方法名 = function(形式参数列表){方法体};
2、方法调用的语法格式:
方法名称(实际参数列表);
3、js方法的特点:
(1)方法定义时,形式参数类型不用写,返回值类型也不写
(2)方法是一个对象,定义相同方法名会被覆盖
(3)在JS中方法的调用只和方法名有关与方法的参数无关
4、js方法的属性:length,用于获取实际参数的个数
代码示例:
document
2、Array数组对象
1、创建数组:
(1)var arr = new Array(); 空数组
(2)var arr = new Array(默认长度) 默认长度的数组
(3)var arr = [元素列表]; 具有初值的数组
2、js数组的特点:
(1)在JS中,数组元素的类型可变
(2)在JS中数组的长度可变
3、js数组的属性:length 获取数组长度、元素个数
4、js数组中的常用方法:
(1)join(字符); 将数组元素通过指定的字符拼接成字符串
(2)push(); 向数组的末尾添加一个或更多元素,并返回新的长度
document
3、Boolean(了解)
①跟java一致,true/false
②定义boolean类型的变量
var b = true/false;
4、Date日期对象1、创建日期对象:var now = new Date() 获取当前时间。
2、日期对象的常用方法:
(1)toLocaleString():根据本地时间格式,把 Date 对象转换为字符串。
(2)getTime():返回 1970 年 1 月 1 日至今的毫秒数
(3)getHours():返回小时数。
(4)getMinutes():返回分钟数。
(5)getSeconds():返回秒数。
代码示例:
document
5、Math 数学对象
1、创建:Math对象不用创建直接使用。使用时直接调用方法,
如:Math.方法名();
2、常用方法:
(1)random():返回 0 ~ 1 之间的随机数
(2)max(x,y):返回 x 和 y 中的最大值
(3)min(x,y):返回 x 和 y 中的最低值
(4)ceil(x):对数进行向上取整
(5)floor(x):对数进行向下取整
(6)round(x):把数四舍五入为最接近的整数
(7)abs(x):返回数的绝对值
3、属性:PI,圆周率
js中的数学对象Math
6、Number数字对象
1、Javascript只有一种数字类型。数字可以带小数点,也可以不带,表示整数和小数
2、定义数字类型
var n = 10;
var n = 10.34;
7、String字符串对象1、创建:
(1)var str1 = "abc"; // string
(2)var str2 = new String("abc"); // object
2、常用方法:
(1)获取字符串的长度 str1.length
(2)是否以某个字符开头 startsWith()
(3)是否以某个字符结尾 endsWith()
(4)截取字符串
a、substring(起始下标,结束角标)
b、substr(起始下标,截取长度)
(5)根据某个字符拆分字符串 返回数组 split()
示例代码:
document
8、RegExp正则表达式对象
1、单个字符:如 [a]、 [ab] 匹配a或者b 、[a-zA-Z0-9] 匹配字母或者数字[字符]
2、元字符:d 表示数字
3、量词符号:
?:表示出现0次或1次
*:表示出现0次或多次
+:表示出现1次或多次
{m} 出现m次
{m,}至少出现m次
{m,n}:表示m=<数量<=n
4、开始结束符号:
^ 开始
$ 结束 扩展 [^abc]
5、创建正则表达式对象:
(1)var reg = new RegExp("正则表达式");
(2)var reg = /正则表达式/;
6、测试正则验证的方法:
test(参数):验证指定的字符串是否符合正则定义的规范
代码示例:
document
9、Global全局对象
1、Global封装的方法不需要对象可以直接调用。方法名();
2、常用方法:
(1)encodeURI():把字符串编码为 URI
(2)decodeURI():解码某个编码的 URI
(3)encodeURIComponent():把字符串编码为 URI 组件
(4)decodeURIComponent():解码一个编码的 URI 组件
(5)parseInt():解析一个字符串并返回一个整数。逐一判断每一个字符是否是数字,直到不是数字为止。将前面的数字转为number
(6)isNaN():检查某个值是否是数字,返回false是数字,true不是数字
(7)eval():计算 Javascript 字符串,并把它作为脚本代码来执行
代码示例:
二、DOM对象 (一)DOM简介Global全局对象
1、文档对象模型(document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。通过 HTMLDOM,Javascript 能够访问和改变 HTML 文档的所有元素。
2、当网页被加载时,浏览器会创建页面的文档对象模型
(document Object Model)。
dom原理:将文档及其文档中所有的标签都看作为对象,那么标签中的属性就是对象的属性属性,因此我们在获取或者设置标签属性的时候可以这么用
对象.属性名 (获取某个标签的对应属性值) 或者对象.属性名=xxx(给标签的属性设置值或者修改值),如果修改或者获取标签的内容可以通过innerHTML,innerText,value等属性实现对象.innerHTML (获取标签内容,包含标签内部的标签及样式)对象.innerText (获取标签内的纯文本,不包含标签内部的标签及样式)
当获取封闭标签内容的时候,使用以上两个属性
---------------------------
对象.value (获取标签的值,表单标签)
当获取单标签内容或者值的时候来使用
(二)获取页面元素对象 1、查找页面元素的方法:(1)document.getElementById(id):通过id号来查找元素。返回单个对象
(2)document.getElementsByTagName(name):通过标签名来查找元素。返回数组对象
(3)document.getElementsByClassName(name):通过类名来查找元素。返回数组对象
(4)document.getElementsByName(name):通过name属性名来查找元素。返回数组对象
2、以上四种方法中,由于页面中元素的id号是唯一的,所以通过id获取的元素个数也是唯一的;而其他三种方式获取的元素个数不唯一,所以使用时需要像数组一样去获取指定的元素。
代码示例:
document
#d{
}
抓鸭子,抓几只
开始抓
嘎嘎嘎嘎嘎嘎嘎嘎
(三)操作页面元素对象
1、创建dom对象
document.createElement("标签名");
2、添加dom对象(1)A.appendChild(B) 将B添加到A内部的最后面
(2)A.insertBefore(B, C) 将B添加到A内部C的前面
3、删除dom对象(1)A.remove() 将A删除
(2)A.remove(B) 将A内部的B删除
4、替换dom对象A.replaceChild(B, C) 用B替换A内部的C
代码示例:
document
- 第一个列表项
- 第二个列表项
- 第三个列表项
1、页面元素.属性名 = “值” 2、设置:标签对象.setAttribute("属性名","属性值");
3、获取:标签对象.getAttribute("属性名");
4、删除:标签对象.removeAttribute("属性名");
代码示例:
document
.c{
border: 1px solid red;
height: 200px;
width: 200px;
border-radius: 50%;
background-color: blue;
}
(五)操作元素样式
1、直接操作
页面元素.style.css样式名称 = “值”
2、间接操作:通过类名进行操作页面元素.setAttribute(“class”, “类名1 类名2”)
先将css样式定义在类中,通过行间属性class,为其设置类
代码示例:
document
div{
border: 1px solid red;
width: 300px;
height: 300px;
}
这是一个盒子
(六)操作元素的内容
1、标签对象.innerHTML 获取或者设置内容 可以包含标签
2、标签对象.innerText 获取或者设置内容 只包含文本
3、input标签对象.value 获取或者设置input框中的内容
4、innerText和innerHTML语法:
获取:标签对象.innerHTML
修改:标签对象.innerHTML=要修改的值
代码示例:
document
用户名:
(七)事件
1、元素被执行某种操作,触发某些代码
2、如何为页面元素对象绑定事件
(1)在标签中指定事件的属性:
需要在脚本中,先行定义好func01这个方法~
(2)获取标签元素绑定事件:
document.getElementById("btn").onclick =function(){}
第二种绑定事件用到的是匿名函数,直接书写方法体代码即可
3、常见事件
代码示例:
document
div区域
三、BOM对象 (一)BOM简介
1、Bom(browser object model):浏览器对象模型。在浏览器页面初始化时,会在内存创建一个全局对象,用来描述当前窗口的属性和状态,这个全局对象被称为浏览器对象模型。
2、Bom有一个核心的对象window,window对象包含了6个核心模块
1、document对象:文档对象
2、frames对象:html的自框架
3、History对象:页面的浏览记录
4、Location对象:当前页面的地址
5、Navigator对象:包含了浏览器相关信息
6、Screen对象:显示屏幕相关信息
(二)Window① 介绍
1、所有的浏览器都支持window对象。它表示浏览器窗口,调用函数时window可以省略。所有Javascript全局对象、函数以及变量均自动成为window对象的成员。
2、全局变量是window对象的属性。
3、全局函数时window对象的方法。
4、比如说html dom的document也是window对象的属性之一。
Window.document.getElementById(),window可以省略
② 创建
直接使用window对象
③ 方法
1. 弹窗方法
1. alert(); 显示带有一段消息和一个确认按钮的警告框 演示
2. confirm(); 显示带有一段消息以及确认按钮和取消按钮的对话框 演示
3. prompt(); 显示可提示用户输入的对话框 演示
2 打开关闭方法
(1) open(”打开窗口的路径“); 打开一个新的浏览器窗口或查找一个已命名的窗口
(2) close(); 关闭浏览器窗口
3、定时器方法
JS中的定时器函数有两种:
1、周期定时器:按照指定的周期来调用函数或代码串,执行多次。
var timeid=Window.setInterval(code,millisec);
window.clearInterval(timeid);清除定时器,使定时器停止执行函数或代码串。
参数说明:
code:要调用的函数或要执行的代码串。
millisec:周期性执行或调用 code 之间的时间
间隔,以毫秒为单位。
2、超时定时器:在指定的毫秒数后调用函数或代码串,只执行一次。
var timeid=Window.setTimeout(code,millisec);
window.clearTimeout(timeid);清除定时器,
可以阻止定时器的执行。
参数说明:
code:要调用的函数或要执行的代码串。
(六)Location1、window.location 对象可用于获取当前页面地址(URL)并把浏览器重定向到新页面
2、window.location 对象在编写时可不使用 window 这个前缀。
3、创建:window.location/location
4、方法:reload():刷新当前页面
5、属性href:获取请求的URL/跳转指定的URL地址中
6、案例:3秒跳转页面
代码示例:
3秒跳转页面
3



