JavaScript是一种基于对象和事件驱动的脚本语言,它提供了一些专有的类、对象及函数

1.基本数据类型

JavaScript提供了4种基本的数据类型用来处理数字和文字

Number、String、Null、Boolean

1).变量

语法:

var 变量名=值;

变量命名规范:

1)变量名由字母、数字、下划线和$组成

2)变量名的首字母必须是字母、$或下划线

3)不能使用JavaScript 保留字,注意区分大小写

2).类型转换

parseInt (String)

将字符串转换为整型数字

parseFloat(String)

将字符串转换为浮点型数字

3).运算符

算术运算符

+、-、 * 、 / 、%、++、--

比较运算符

==、!=、>、>=、<、<=

逻辑运算符

&&、||、!

4).注释

JavaScript 注释有两种

单行注释

语法://注释内容

多行注释

语法:/*注释内容*/

5).流程控制语句

语法:

if条件语句

switch多分支语句

for、while、do…while循环语句

break 和 continue 语句

break 语句来中断一个循环的运行。

continue 语句用来跳过余下的代码块而直接转到下一次循环继续执行

6).函数的定义与调用

a.函数声明语法:

function  函数名 (参数列表)

{

b.函数代码块;

return 表达式;

}

c.函数调用语法:

函数名(实参1,实参2…) ;

var 变量名=函数名(实参1,实参2…);

7).变量的作用域

根据变量的作用范围,JavaScript中的变量可以分为全局变量和局部变量

8).事件处理

浏览器事件

onload、unonload、onsubmit

鼠标事件

onMouseMove、onMouseOver、onMouseOut、onMouseDown、onMouseUp

文本框事件

onchange、onselect、onfocus、onblur、

9).其他

onclick

2.浏览器对象模型

浏览器对象模型是用于描述对象与对象之间层次关系的模型,该对象模型提供了独立于

内容的、可以与浏览器窗口进行互动的对象结构

1).浏览器对象的分层结构

window对象

常用属性

常用方法

window属性和方法事例

var money=prompt("请输入取款金额",100);//接收用户录入对话框

alert(money);//输出100

var state=confirm("你取款金额为"+money);//确认和取消按钮对话框

alert(state);//返回true或false

setTimeout(“调用的函数”,”毫秒数”)

window.open("adv.html","","相关属性");

height: 窗口高度;

width: 窗口宽度;

top: 窗口距离屏幕上方的象素值;

left:窗口距离屏幕左侧的象素值;

toolbar: 是否显示工具栏,yes为显示;

menubar,scrollbars 表示菜单栏和滚动栏。

resizable: 是否允许改变窗口大小,yes或1为允许

location: 是否显示地址栏,yes或1为允许

status:是否显示状态栏内的信息,yes或1为允许;

history对象

作用:

history对象用来管理当前窗口最近访问过的URL

常用方法:

注意:

history.go(-1)  相当于    history.back()

history.go(1)  相当于    history.forward()

例子:

<a href="javascript:history.back()">后退</a>

相当于

<a href="javascript:history.go(-1)">后退</a>

<a href="javascript:history.forward()">前进</a>

相当于

<a href="javascript:history.go(1)">后退</a>

location对象

作用:

location对象用来管理当前打开窗口的URL信息

常用属性和方法:

例子:

window.location.href=”http://www.baidu.com”;

3.DOM概述

DOM-Document Object Model ,它是W3C国际组织的一套Web标准

DOM是一种与浏览器、平台、语言无关的接口

document对象

作用:

document对象代表浏览器窗口中加载的整个HTML文档

常用属性:

常用方法:

document对象访问页面元素的常用方式有四种

1)document.all.页面元素名称;

2)document.表单名.元素名称;

3)document.getElementById("ID名称");

4)document.getElementsByName("元素名称");

----------------------------------------------------------------------------------------

1. 属性示例:开灯关灯

<script type="text/javascript">

function setColor_()

{

var type =document.getElementById("setColor").value;

if(type=="关灯")

{

document.getElementById("setColor").value="开灯";

document.bgColor="black";

}else

{

document.getElementById("setColor").value="关灯";

document.bgColor="white";

}

}

</script>

2、

<input

type="button"

value="关灯"

id="setColor"

onclick="setColor_()"

name="setColor"/>

属性示例:图片广告随滚动条滚动而滚动

核心代码如下:

1、

<script type="text/javascript">

function move()

{

document.getElementById("adv").style.top=400+document.documentElement.scrollTop+"px";

}

window.onscroll=move;

</script>

2、

<img src="足够大的背景图片" />

<div

id="adv"

style="position:absolute;

top:400px; left:10px;"><img  src="需要漂浮的小广告图片"/></div>

方法示例:全选操作

核心代码如下:

1、

<script type="text/javascript">

function isChecked(state)

{

var v=document.getElementsByName("lover");

for(var i=0;i<v.length;i++)

{

if(v[i].type=="checkbox")

{

v[i].checked=state;

}

}

}

</script>

2、

<input type="radio" name="ischeck" onclick="isChecked(true)" />全选<input type="radio"  name="ischeck" onclick="isChecked(false)"/>全否<br />

<a href="javascript:isChecked(true)">全选</a>

<a href="javascript:isChecked(false)">全否</a>

<hr />

<input type="checkbox" id="lover" name="lover"/>体育

<input type="checkbox" id="lover"name="lover"/>音乐

<input type="checkbox" id="lover" name="lover"/>美术

节点信息

document文档对象可以创建、添加、删除DOM支持的任何类型的节点

1、 使用document.createElement创建节点

document.createElement的功能是创建一个指定标签名的元素节点,标签名可以是任

何名字,包括自定义的标签

2、使用appendChild(node)将节点追加到所有子节点的末尾

3、使用insertBefore(newNode,node)将节点newNode插入到节点node之前

4、使用removeChild删除节点

innerHTML属性

innerHTML是DOM节点的一个属性,它表示节点的开始标签与结标签之间的内容

表单验证

作用: 表单验证可以保证提交数据的准确性

表单验证思路:

1) 编写表单处理函数,验证数据的合法性

2) 处理表单的onsubmit事件

String对象

常用属性 :

常用方法

示例:

var  name="andy_liu";

var first1=name.substr(1,4);       //从下表为1开始截取4个长度的字符

alert(first1);                             ///提示:ndy_

var first2=name.substring(1,4);    //从下表为1开始取到下表为4的前一位结束

alert(first2);    ///提示:ndy

例子:

var data = "宝马,大众,丰田";

var cars = data.split(",");//按逗号分隔进行拆分

for(var i=0;i<cars.length;i++){

alert(cars[i]);

  }

正则表达式

定义:正则表达式是一种对文字进行模糊匹配的语言

正则表达式的功能:

1)实现数据格式的有效性验证

2)实现文本内容的替换和删除

3)实现文本模糊搜索

RegExp对象

RegExp是JavaScript中提供的一种用来完成有关正则表达式操作和功能的对象

两种创建方式:

1)var reg=new RegExp(“表达式”,”附加参数”);

2)var reg=/表达式/附加参数

RegExp对象的附加参数:

g:全局匹配

i:不区分大小写匹配

m:可以进行多行匹配

常用方法

test示例:

var  str="CATs";

var regex=new RegExp("cat",'gi');

var result=regex.test(str);

document.write(result);

输出结果:true

exec示例:

var str="this is cat ,that is cat";

var pattern=new RegExp("cat","g");

var arr;

while((arr=pattern.exec(str))!=null){

document.write("在索引"+arr.index+"位置出现了");

document.write(arr+"<br/>");

}

注意:exec方法返回的数组有3个属性,分别是input、index和lastIndex

表达式模式

特殊字符

限定符

定位符

查找和替换

常用正则表达式

需求

表达式

匹配身份证号码

^d{15}|d{18}$

验证电子邮件格式

^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$

验证一个月的天数

^([0-2])\d$|^3(0|1)$

验证合法的标识名

^[a-zA-Z]\w{4,15}$

匹配中文字符

[u4e00-u9fa5]

总结:

u 表单是用来收集用户信息的容器,onsubmit事件为提交表单时触发的事件

u 表单验证分为两步:第一步是编写验证函数验证表单数据的合法性,第二步是处理表单onsubmit,即在表单提交事件中调用表单验证函数

u String对象用于处理字符串,如获取字符串的长度、搜索字符串中的字符、转换字符的大小写等

u 正则表达式是一种对文字进行模糊匹配的语言,常用方法有test、exec等

u 使用正则表达式可以实现:

n 测试字符串是否匹配某个模式,从而实现数据格式的有效性验证

n 修正满足某正则表达式模式的文本内容

n 搜索某一类型的文本内容

u String对象中的match、search、replace方法以RegExp为参数完成模式搜索和替换功能

表单验证高级特效

Java Script 基本知识点的更多相关文章

  1. java script第一篇(按钮全选的实现)

    今天刚学了java script,记录下学习新知识的点滴.以下是操作步骤.鉴于我是初级者,如有错误,恳请读者指正.万分谢谢. 1.新建一个文档(用NotePad软件,为了使得在浏览器中打开不是乱码,在 ...

  2. Java Script 编码规范【转】

    Java Script 编码规范 以下文档大多来自: Google JavaScript 编码规范指南 Idiomatic 风格 参考规范 ECMAScript 5.1 注解版 EcmaScript ...

  3. Java入门学习知识点汇总

    Java入门重要知识点在这里总结一下,以方便日后复习,这部分内容主要有:变量和常量,常用的运算符,流程控制语句,数组,方法这些内容 一.变量和常量 1.Java关键字 先贴张图: 所有关键字区分大小写 ...

  4. Java script基础

    Java script基础 Js的每个语句后面都要有分号. <script  type="text/java script">所有JS内容</script> ...

  5. Java script 看看黑客怎么写的

    在2011年的BlackHat DC 2011大会上Ryan Barnett给出了一段关于XSS的示例java script 代码: ($=[$=[ ] ] [(__=!$+$)[_=-~-~-~$] ...

  6. Java Script 中 ==(Equal) 和 === (Identity Equal) 的区别和比较算法逻辑

    判断两个变量是否相等在任何编程语言中都是非常重要的功能. JavaScript 提供了 == 和 === 两种判断两个变量是否相等的运算符,但我们开始学习的时候 JavaScript 的时候,就被一遍 ...

  7. Java Script 学习笔记

    JS编程习惯类: 1. 命名 著名的变量命名规则 只是因为变量名的语法正确,并不意味着就该使用它们.变量还应遵守以下某条著名的命名规则: Camel 标记法 首字母是小写的,接下来的字母都以大写字符开 ...

  8. Java编程学习知识点分享 入门必看

    Java编程学习知识点分享 入门必看 阿尔法颜色组成(alpha color component):颜色组成用来描述颜色的透明度或不透明度.阿尔法组成越高,颜色越不透明. API:应用编程接口.针对软 ...

  9. 10张思维导图带你学习Java​Script

    10张思维导图带你学习Java​Script   下面将po出10张JavaScript相关的思维导图. 分别归类为: JavaScript变量 JavaScript运算符 JavaScript数组 ...

随机推荐

  1. HDU 3507 [Print Article]DP斜率优化

    题目大意 给定一个长度为\(n(n \leqslant 500000)\)的数列,将其分割为连续的若干份,使得 $ \sum ((\sum_{i=j}^kC_i) +M) $ 最小.其中\(C_i\) ...

  2. R_Studio(学生成绩)绘制频率分布直方图、分布饼图、折线比较图

    对“Gary.csv”中的成绩数据进行分布分析 (1)按0-59,60-69,70-79,80-89,90-100分组绘制高级语言程序设计成绩的频率分布直方图. (2)按0-59,60-69,70-7 ...

  3. JS基础-连续赋值

    重点:先声明,从左向右,声明变量分配内存,后赋值,从右向左 问题 var a = {n: 1}; var b = a; a.x = a = {n: 2}; console.log(a.x); cons ...

  4. Springboot集成Swagger操作步骤

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  5. 循环链表C语言实现

    按照单链表的设计,稍加改动.和单向链表不一样的地方,头节点不指向NULL,而是指向自己head 循环链表的判满 1)判断next是不是头结点,2)判断size /* * CycleLinkList.h ...

  6. jQuery file upload --Multiple File Input Fields in One Form

    The plugin can be applied to a form with multiple file input fields out of the box. The files are se ...

  7. @RequestMapping注解学习

    1.@RequestMapping注释用于映射url到控制器类或一个特定的处理程序方法.可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. 参考地址:https://ww ...

  8. UVa679 小球下落(树)

    UVa679 小球下落(树) 题目大意 小球从一棵所有叶子深度相同的二叉树的顶点开始向下落,树开始所有节点都为0.若小球落到节点为0的则往左落,否则向右落.并且小球会改变它经过的节点,0变1,1变0. ...

  9. IDEA全局配置

    进入全局设置界面: 取消每次启动IDEA就默认打开上一次最后关闭的项目 编译器代码字体设置: 控制台字体大小和颜色设置 同一个文件代码里面的各个不同方法之间显示分割线 代码自动提示不区分大小写 格式化 ...

  10. mingw下的msys显示与输入乱码

    一直很喜欢gcc+vim这个貌似已经不用在强调了,好了,我只是想说明下我的问题是首先从gcc编译出错提示开始的 正如上面所说,安装完MinGW后使用gcc一编译,这程序没有错误还好,这一有错误发现输入 ...