Javascript的数据类型

Javascript的数据类型
基本数据类型

Nummber

String

Boolean

特殊数据类型

Null

Undefined

undefined和null的区别

区别

Undefined表示没有为变量设置值或属性不存在

Null表示变量是有值的,只是其值为null

但比较是undefined派生自null

Javascript把他们定义为相等的

系统对话框

Alert()警告对话框

Confirm()消息对话框

Prompt()提示对话框

常用系统函数

将字符串转换为整型数字parseint(“字符串”);

将字符串转换为浮点型数字parseFloat(“字符串”);

检查其参数是否是非数字isNaN(x);

自定义函数语法(参数,return,返回值,都可选,可有可无)

Function 方法名(参数1,参数2......){

Return 返回值;

}

 var a="aqwerbtyuxiocp";
            var b=a.length;
            document.write(b+"<br />");
            document.write("查找指定位置的字符"+a.charAt(4)+"<br />");
            document.write("查找指定字符的位置"+a.indexOf("b")+"<br />");
            document.write("按长度截取"+a.substr(3,7)+"<br />");
            document.write("按前后下标截取"+a.substring(3,7)+"<br />");
            document.write(a.toUpperCase()+"<br />");
            document.write(a.toLowerCase()+"<br />");
            document.write("拆分"+a.split("")+"<br />");
            document.write("替换"+a.replace("ocp","AAA"));

History对象

保存用户上网记录,可通过window.history属性访问

属性length 返回历史记录列表中的网址数

方法:

back()加载History对象列表中的前一个URL

forward()加载history对象列表中的下一个URL

go()加载history对象列表中的某个具体URL

history.back() 等于history.go(-1)

history().forward() 等于 history(1)

Location对象

包含有关当前URL的信息,可通过window.location属性访问

属性href 设置或返回完整的URL (跳转一定要用'='赋值)

方法:

reload() 重新加载当前文档

replace() 用新的文档替换当前文档

Document对象代表整个HTML文档

方法:

getElementByid() 返回对拥有指定id的第一个对象的引用.唯一

getElementByName() 返回带有指定名称的对象的集合

getElementByTagName() 返回带有指定标签名的对象集合

write()向文档写文本,HTML表达式或javaScript代码

属性innerHTML设置或获取开始标签和结束标签之间的内容。

超时函数

setTimeout('a()',2000);

间歇函数

setInterval("a()",2000);

Array对象

类别名称描述
属性length属性设置或返回数组中的元素的数目
方法join()把数组的所有元素放入一个字符串,通过逗号或指定的分隔符进行分离
sort()对数组排序
push()像数组末尾添加一个或更多元素并返回新的长度
forEach()遍历数组,forEach()方法不会直接修改原始数组

Date对象

截取当前日期和时间

newDate()获取当前日期

getDate()返回Date对象的一个月中的每一天

newDay()返回Date对象的星期中的每一天,其值介于0~6之间

getHours()返回Date对象小时数

getMinutes()返回Date对象的分钟数

getSeconds()返回Date对象的秒数

getMonth()返回Date对象的月份,其值介于0~11之间

getFullYear()返回Date对象的年份,其值为4位数

getTime()返回自某一刻(1970年1月1日以来的毫秒数);

Math对象

ceil()对参数进行上舍入

floor()对参数进行下舍入

round()返回0~1之间的函数

1~100(含1和100)之间的数量

Math.floor(Math.random()*100+1);

DOM文档对象模型

nodeName:节点名称

元素节点的标签名称

属性节点的属性名称

文本系节点的nodeName永远是#text

文档节点的nodeName永远是#document

nodeValue:节点值

文本节点包含的文本

属性接节点的属性值

对文档节点和元素节点不可用

nodeType:节点类型

Element(元素(1))

Attr(属性(2))

Text(文本(3))

访问节点

属性名称描述
parentNode返回节点的父节点
childNode返回自节点集合,childNodes[]
firstChild返回节点的第一个子节点,是访问该元素的文本节点(文本)
firstElementChild返回节点的第一个子节点,是访问该元素节点(元素)
lastChild返回节点的最后一个子节点(文本)
lastELementChild返回节点的最后一个子节点(元素)
nextSibling返回下一个节点(文本)
nextElementSibling返回下一个节点(元素)
previousSibling返回上一个节点(文本)
previousElementSibling返回上一个节点(元素)

Style属性

HTML元素.style.样式属性=”值“;

document.getElementById("a").style.color="red";

操作节点的属性

获取节点属性

节点元素.getAttribute(“属性名”);

设置节点属性

节点属性.setAttribute("属性名","属性值");

创建节点

document.createElement("img");创建一个标签为img的新元素节点

element.cloneNode(false)复制某个指定节点,参数为布尔类型,若为true,则同时复制当前节点的所有子节点若为false

则仅复制当前节点

插入节点

A.appendChild(b)把b节点追加之A的子节点列表的末尾

parentNode.insertBefore(A,B)把A节点插入到B节点之前

删除节点

node.removeChild()删除指定的子节点

node.remove()删除当前节点

node.replaceChild(newChild,OldChild)用其他节点代替指定子节点

JQuery

$()代表jquery对象:等同于jQuery(),将DOM对象转化为jQuery对象

语法:$(document).ready()与window.onload类似,但也有区别

window.onload

必须等待网页中所有的内容加载完毕后(包括图片等)才能执行,同一页下能同时编写多个

$(document).ready,网页中所有DOM文档结构绘制完毕后即可执行,与DOM元素关联的内容(图片,视频等)可能并没有加载完,同一页面

能同时编写多个

简写:$(function){

//执行代码

});

基础选择器包括:ID选择器,类选择器,标签选择器,全局选择器和并集选择器。

ID选择器:$(“#title”)选取id为title的元素

类选择器$(".title")选取所有class为title的元素

标签选择器$("h2")选取所有h2元素

比较项windows.onload$(document).ready( )
执行时机必须等待网页中所有的内容加载完毕后( 包括图片,视屏,flash等 )才能执行网页中所有DOM文档结构绘制完毕后即刻执行,与DOM元素关联的内容( 图片,视频,flash等 ) 可能并没有加载完
编写次数同一网页不能同时编写多个同一网页能同时编写多个
简化$( function(){ //执行代码 } );

JQuery基础选择器

类型语法描述返回值示例
id选择器#id根据指定的id匹配元素单个元素$( "#content" )选取id为content的元素
类选择器.class根据指定的class名称匹配元素元素集合$( ".content" )选取class为content的元素
标签选择器element根据指定的标签名称匹配元素元素集合$( "p" )选取所有p标签元素
全局选择器*匹配所有元素元素集合$( "*" )选取所有元素
并集选择器selector1,selector2,selector3......,selectorN将每个选择器匹配到的元素合并到一起返回元素集合$( "div,p,#content" )选取所有div,p和id为content的元素

层次选择器

类型示例
后代选择器$("#menu span")选取#menu下的<span>元素
子选择器$("#menu>span")选取#menu的子元素<span>
相邻元素选择器$("h2+dl")选取紧邻<h2>元素后的同辈元素<dl>
同辈元素选择器$("h2~dl")选取紧邻<h2>元素之后所有同辈元素

基本过滤选择器

类型示例
:first$(“li:first”)选取所有<li>元素中的第一个<li>元素
:last$(“li:last”)选取所有<li>元素中的最后一个<li>元素
:not(selector)$("li:not(.three)")选取class不是three的<li>元素
:even$("li:even")选取所有<li>元素中索引值是偶数的<li>元素
:odd$("li:odd")选择所有<li>元素中索引值是奇数的<li>元素
:eq(index)$("li:eq(1)")选取索引等于1的<li>元素
:gt(index)$("li:gt(1)")选取索引大于1的<li>元素
:lt$("li:gt(1)")选取索引小于1的<li>元素

属性选择器

语法示例
[attribute]$("[href]")选取含有href属性的元素
[attribute=value]$("[href=‘#’]")选取href属性值为“#”的元素
[attribute!=value]$("[href=‘#’]")选取href属性值不为“#”的元素
[attribute^=value]$("[href^='en']")选取href属性值以en开头的元素
[attribute$=value]$("[href$='.jpg']")选取href属性值以.jpg结尾的元素
[attribute*=value]$("[href*='txt']")选取href属性中含有txt的元素

创建节点

语法功能
$("<li>大头儿子</li>");创建节点

元素内部插入节点

语法功能
append(content)$(A).append(B)表示将B追加到A中,如$("ul").append($newNode1);
prepend(content)$(A).prepend(B)表示将B前置插入到A中,如$("ul").prepend($newNode1);

元素外部插入同辈节点

语法功能
after(content)$(A).after(B)表示将B插入到A之后,如$("ul").after($newNode1)
before(content)$(A).before(B)表示将B插入到A之前,如$("ul").before($newNode1)

删除整个节点

$(selector).remove([selector]);

删除整个节点,保留元素时间和数据

$(selector).detach([selector]);

清空节点内容

$(selector).empty();

复制节点

$( selector ).clone( [true | false] ); 是否复制元素的事件和数据,默认为false

替换节点

replaceAll( target ) $( A ).replaceAll( B )表示用A替换B

replaceWith( content) $( A ).replaceWith( B )表示用B替换A

获取属性值

$( selector ).attr( attribute )

设置单个属性: $( selector ).attr( attribute,value);

设置多个属性: $( selector ).attr( { attribute:value,attribute:value,.... } );

删除元素属性: $( selector ).removeAttr( attribute )

遍历子元素

获取子元素

$(”selector“).children();

获取紧邻匹配元素之后的元素

$("li:eq(1)").next().attr("class","a");

获取紧邻匹配元素之前的元素

$("li:eq(1)").prev().attr("class","a");

获取匹配元素的同辈元素

$("li:eq(1)").silbings().attr("class","a");

获取匹配元素的父级元素

$("li:eq(1)").parent().attr("class","a");

获取匹配元素的祖先元素

$("li:eq(1)").parents().attr("class","a");

each()方法规定对每个匹配元素执行的函数

$(selector).each()(function(index,element));

参数index表示当前元素下标,从0开始

参数element表示当前元素,也可以在函数中使用this表示

当function函数返回false时可以停止循环

操作元素

方法说明
html()获取当前设置所有匹配元素的HTML内容或文本内容
text()获取设置所有匹配元素的文本内容
val()获取和设置元素的value属性值
单击事件

onclick

获取焦点事件

onfocus

失去焦点事件

onblur

获取样式

$(selector).css("属性");

$(selector).css(["属性1","属性2"...])

设置样式值

$(selector).css("属性","属性值")

$(selector).css({"属性1":"属性值1","属性2","属性值2"})

追加样式

$(selecctor).addClass("classname");

$(selector).addClass(["classname1","classname2"...])

移除样式

$(selector).removeClass("classname")

$(selector).removeClass(["classname1","classname2"...])

$(selector).removeClass()

样式切换

$(selector).toggleClass();

事件

鼠标事件
方法描述执行时机
click()将事件处理函数附加到click事件鼠标单击时
mouseover([function])将事件处理函数附加到mouseover事件鼠标指针移入时
mouseout([function])将事件处理函数附加到mouseout事件鼠标指针移除时
mouseenter([function])将事件处理函数附加到mouseenter事件鼠标指针进入时
mouseleave([function])将事件处理函数附加到mouseleave事件鼠标指针离开时
mouseover()和mouseenter()方法的区别
方法不同点
mouseover()鼠标指针移动到选取的元素及其子元素上时触发
mouseenter()鼠标指针移动到选取的元素上时触发

mouseover(),mouseenter()

鼠标在其被选元素的子元素上来回进入时:触发mouseover,不触发mouseenter

mouseover(),mouseenter()

鼠标在其被选元素的子元素上来回离开时:触发mouseout,不触发mouseleave

键盘事件
方法描述
keydown()按下键盘按键时
keyup()释放键盘按键时
表单事件
方法描述
focus()元素获得焦点时
blur()元素失去焦点时
change()元素的值发生改变时
submit()submit事件只适用于<form>元素,当提交表单时触发

表单选择器

方法描述
input匹配所有的input,textarea,select和button元素
text匹配所有的单行文本框
password匹配所有的密码框
radio匹配所有单选按钮
checkbox匹配所有的复选框
image匹配所有图像域
file匹配所有文件域
reset匹配所有重置按钮
button匹配所有按钮
submit匹配所有提交按钮
hidden匹配所有不可见的元素

正则表达式

正则表达式就是一种用于匹配是否满足表达式规则的字符串

常用正则表达式

用户名 /^[a-z0-9-]{3,16}$/ 密码 /^[a-z0-9-]{6,18}$/ 十六进制值 /^#?([a-f0-9]{6}|[a-f0-9]{3})$/ 电子邮箱 /^([a-z0-9_.-]+)@([\da-z.-]+).([a-z.]{2,6})$/ /^[a-z\d]+(.[a-z\d]+)@(\da-z?)+(.{1,2}[a-z]+)+$/ URL /^(https?:\/\/)?([\da-z.-]+).([a-z.]{2,6})([\/\w .-])\/?$/ IP 地址 /((2[0-4]\d|25[0-5]|[01]?\d\d?).){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/ /^(?:(?:25[0-5]|20-4|[01]?0-9?).){3}(?:25[0-5]|20-4|[01]?0-9?)$/ HTML 标签 /^<([a-z]+)(<+)(?:>(.)<\/\1>|\s+\/>)$/ 删除代码\注释 (?<!http:|\S)//.$ Unicode编码中的汉字范围 /^[\u2E80-\u9FFF]+$/

怎么使用正则表达式

1.获取正则表达式对象

var reg=new RegExp(匹配规则);//创建正则表达式对象

例:从输入框获取到了一个字符串,现在判断它是否满族匹配规则

var username=“zhangsan”;

test()方法来测试是否满足匹配

reg.test(username);//如果满足,返回true,否则返回false

2.第二种,直接写规则的正则表达式

var reg=/^匹配规则$/;

3.匹配规则

[abc] 中括号:代表中括号中任意字符出现一次

[^abc] 中括号中包含字符以外的任意字符出现一次

[a-z] a到z中的字符出现一次

[A-Z]A到Z中的字符出现一次

[0-9] 0到9的数字出现一次

\w 任意字符出现任意次

\W 任意非字符出现任意次

\D 任意非数字出现任意次

\d 任意数字出现任意次

{5} 前面的内容出现五次

{1,6} 前面的内容至少出现一次,最多出现五次

*: 匹配前一项,出现一次

+: 匹配前一项,出现1次或多次。 ?: 匹配前一项,出现0次或1次

4.匹配对象,创建匹配对象的时候可以用两个参数

第一个参数:代表的是要满足匹配的规则

第二个参数:代表的是附加参数

  1. :i 忽略匹配内容的大小写

  2. : g 在全局范围内进行匹配,

  3. : m 进行多行匹配。

5.常见表达式规则

用户名: 4-16位,字母开头

var reg=/^[a-zA-Z0-9] [a-zA-Za-z0-9]{3,15}$/;

密码: 4-10位,数字或者字母

var reg = /^[a-zA-Z0-9]{4,10}$/;

年龄: 0-120岁

var reg =(1[0-1]|[1-9])?\d ;

邮箱:任意字符@任意字符.两位或者三位字母 出现一次或者两次

var reg = /^\w+@\w+(.[a-zA-Z]{2,3}){1,2}$/;

手机号:首字母1开头 接着是356789任意一个数字出现一次,数字出现9次

var reg = /^1[356789]\d{9}$/;

使用HTML5的方式验证表单

HTML5新增属性

placeholder :提供一种提示(hint),输入域为空时显示,获得焦点输入内容后消失

required 规定输入域不能为空

pattern 规定验证input域的模式(正则表达式)

validity属性
validityState对象

stepMismatch

输入的值不符合step特性所推算出的规则。用于填写数值的表单元素可能需要同时设置min、max和step特性,这就限制了输入的值必须是最小值与step特性值的倍数之和。例如范围从0到10,step特性值为2,因为合法值为该范围内的偶数,其他数值均无法通过验证。如果输入值不符合要求,则stepMismatch属性返回true,否则返回false

customError

使用自定义的验证错误提示信息。使用setCustomValidity( )方法自定义错误提示信息:setCustomValidity(message)会把错误提示信息自定义为message,此时customError属性值为true;setCustomValidity("")会清除自定义的错误信息,此时customError属性值为false。

自定义对象(两种方式)

基于object对象创建自定义对象

var 对象名称=new object();

使用字面量赋值方式创建自定义对象

var student={

name:”张三",

age:18,

showname:function(){

alert(this.name);

}

}

定义构造函数,用以创建特定类型的对象(首字母大写,以区别其他函数)

function Student(name,age,email,hobby){

this.name=name;

........

this.showname=function(){alert(this.name)}

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值