1)基础

学习目的:

1. 客户端表单验证

2. 页面动态效果

3. jQuery的基础

什么是JavaScript?

一种描述性语言,也是一种基于对象和事件驱动的,并具有安全性能的脚本语言

javaScript是一种基于对象和事件驱动的,并具有安全性能的脚本语言 解释执行
javaScript特点
向HTML页面中添加交互行为
脚本语言,语法和java类似
解释性语言,边执行边解释
javascript的基本结构
语法
<script type="text/javascript">
<-----javascript语句------->
</script>
<script>....</script>可以包含在文档的任何地方,只要保证这些代码在被使用时已经读取并加载到内存中即可

javaScript核心语法

核心语法 变量 数据类型  数组  运算符号  控制语句  注释   输入输出 语法约定

核心语法变量
var width  var-用于声明变量的关键字
width=5   width-变量名
同时声明和赋值变量
var catname="皮皮";
var x,y,z=10;
不声明直接赋值(不建议使用)
width=5;

经验:变量可以不经声明而直接使用,但这种方法很容易出错.也很难查找排错不推荐使用

核心语法-数据类型
数据类型:
undefined
null(表示一个空值和undefined值相等)
numbre
boolean
string
属性 字符串对象.length(长度)

数组(创建数组)
语法 var 数组名称=new Array(size)
属性 名称 描述
length  设置返回数组中的元素书名

方法 join()把数组所有的元素放入一个字符串,通过一个的分隔符进行分隔
     sort()对数组进行排序
     push()向数组末尾添加一个或者更多元素,并返回新的长度

核心语法
类型   运算符
算数运算符       +-*/++--
赋值运算符  = += -=
比较运算符  > < >=< >= == != === !==
逻辑运算符  && || !

if条件语句
if(条件)
{
//代码
}
else{
//代码
}

switch(表达式){
case 常量 1:
 javaScript语句1;
  break
case 常量 2:
 javaScript语句2;
 break
....
default :
javaScript 语句3;

for(初始化;条件;增量)
{
javaScript代码
}
white(条件)
{
javaScript代码
}

单行注释 //开始,已行末结束

多行注释以/*开始,以*/结束,符号/*....*/

alert("提示信息")
prompt()
prompt("提示信息","输入框的默认信息")
prompt("请输入你喜欢的颜色","红色")
prompt("请输入你喜欢的颜色","")

Chrome开发人员工具
* 停止断点
*单步调试不进入函数体内部
*单步调试,进入函数体内
* 跳出当前函数
*禁用所有断点,不做任何调试
alert()方法

函数的含义:类似于java中的方法,是完成的任务代码语句快
使用更简单:不用定义属于某个类,直接使用
函数分类:系统函数和自定义函数

parsint("字符串")
将字符串转换为整数数字
parseFloat("字符串")
将字符串转换为浮点数字
ISNAN()
用于检查其参数是否是非数字

自定义函数
定义函数  (无参函数) (有参函数)
function 函数名 (参数1,参数2,参数3.....){
//javaScript语句
[return 返回值]---可有可无

调用函数
函数调用一般和表单元素事件一起使用,调用格式
事件名="函数名()"
onload 一个页面或者一幅图像完成加载
onlick 鼠标单击某个对象
onmouseover 鼠标指导移到某元素上
onkeydown 某个键盘按键被按下
onchange 域的内容被改变
}

为什么要学习JavaScript
表单校验
特效

浏览器内核
Chrome  webkit
Firefox  trident
IE
猎豹
搜狗
UC

 2)操作BOM

BOM:浏览器对象模型(Browser Object Model)
bom提供了独立于内容的,可以与浏览器窗口进行互动的对象结构

BOM可以实现的功能
弹出新的浏览器窗口
移动关闭浏览器窗口以及调整窗口的大小
页面的前进和后退

Windows对象的常用属性
属相名称   说明
histroy   有关客户访问过的URL的信息
location  有关当前的URL的信息

语法: Window.属性名="属性值";
示例:Window.location="http://www.bdqn.cn"
常用的方法
方法名称   说明
prompt()  显示可以提供用户输入的对话框
alert()   显示带有一个提示信息和一个确定按钮的警示款
confirm()  显示一个带有提示信息,确定和取消按钮的对话框
close()   关闭浏览器窗口
open()   打开一个新的浏览器窗口,加载给定URL所指定的文档
setTimeout()  在指定的毫秒后调用函数或计算表达式
setinterval()  按照指定的周期(以毫秒计)来调用函数或者表达式

confirm():将弹出一个确认对话框
confirm("对话款中显示的纯文本")

open()方法
window.open("弹出窗口的URL","窗口名称","窗口特征")

history对象
常用方法
名称   说明
back()     加载history对象列表的前一个URL
forward()   加载history对象列表中的下一个URL
go()  加载history 对象列表的某一个具体的URL
location对象
常用属性   说明
host   设置或返回主机名和当前URL的端口号
hostname  设置或返回当前的URL的主机名
href   设置或返回完整的URL
常用方法
reload()  重新加载当前文档
replace()  用新的文档替换当前文档

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

getEllementsByName 返回带有指定名称的对象的集合

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

write()   向文档写文本、HTML表达式或JavaScipt代码

Array:用于在单独的变量名存储一系列的值

String: 用于支持对字符串的处理

Math:用于执行常用的数学任务,它包含了若干个数字常量和函数

DATE:用于操作日期和时间
date对象

var 日期对象=new date(参数)
参数格式: MM DD YYYY HH :mm:ss
常用方法
方法   说明
getdate()  返回date对象的一个月中的每一天,其值介于1到31之间

getday()  返回date对象的星期中的每一天,其值介于0到6之间

getHours()  返回date对象的小时数,其介于0到23之间

getminutes()  返回date对象的分钟数其值介于0到59之间

getseconds()  返回date对象的秒数,其值介于0到59之间

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

getFullyear()  返回date对象的年份.其值为4位数

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

math 对象
常用方法
ceil()  对数进行上舍入   Math.ceil(25.5);返回26    Math.ceil(-25.5);返回-25

floor()  对数进行下舍入   Math.floor(25.5);返回25   Math.floor(-25.5);返回-26

round()  把数四舍五入为最接近的数  MAth.round(25.5);放回26   Math.round(-25.5) 返回-26

random() 返回0到1之间的随机数  Math.random();例如:0.6273608814137365

如何实现返回整数范围为2到99之间的数
var inum=Math.floor(Math.random()*98+2)

定时函数
setTimeout()
setTimeout("调用的函数",等待的毫秒数)
实例:
var myTime=setTimeout("disptime",1000)

setinterval() 周期性
语法 setinterval("调用函数",间隔的毫秒数)

var myTime=setinterval("disptime",1000)

清除函数
clearTimeout()
语法
clearTimeout(setTimeOut()返回的ID值)

var myTime=setTimeout("disptime()"1000)
clearTimeout(myTime)

clearinterval()
clearlinterval(setinterval()返回的ID)

var myTime=setinterval("disptime()",1000)
clearinterval(myTime )

document **
属性: referrer 返回的是上一个页面的URL

3)操作DOM

DOM:Document Object Model(文档对象模型)

节点属性   描述
parentNode  返回节点的父节点

childNodes  返回子节点的集合,childNodes[i];

firstChild  返回节点的第一个子节点,最普遍的用法是访问该元素的文本节点

lastChild  返回节点的最后一个子节点

nextSibling  下一个节点

previousSibling  上一个节点

element属性
属性名称    描述
firstRlrmentChild  返回节点的第一个子节点,最普遍的做法是访问该元素的文本节点

lastElementChild  返回节点的最后一个子节点

nextElenentSilbling  下一个节点

previousElementSibling  上一个节点

节点信息
nodeName:节点名称
nodeValue:节点值
nodeType:节点类型

节点类型   NodeType值
元素element  1
属性attr   2
文本text   3
注释comments  8
文档document  9

操作节点的属性
getAttribute("属性名")
setAttibute("属性名","属性值")

创建和插入节点
创建节点
名称      描述
createElement(tagName)   创建一个标签名为tagName的新元素节点
A.appendChild (B)   把B节点追加到A节点的末尾
insertBefore(A,B)   把A节点插入到B节点之间
cloneNode(deep)    复制到某个节点

删除和替换节点
名称       描述
removeChild(node)     删除指定节点
replaceChild(newNode,oldNode)属性attr  用其他的节点替换指定的节点

操作节点样式
改变样式的属性
style 属性
className属性
HTML元素.style.样式属性="值"
示例
doucument.getElenmentByld("titles").style.color="#ff0000"

className属性
语法 HTML元素.className="样式名称"

获取元素的样式
语法HTML元素.style.样式属性;
示例
alert(document.getElementByid("cartlist").style.display)
实际开发中使用
document.defaultVIEW.getComputerStyle(元素,null).属性
HTML元素.currentStyle.样式属性---兼容IE浏览器

JavaScript获取元素位置

语法
document.documentElement.scrollTop;
document.documentElementt.scrollleft;   标准浏览器
或者
document.body.scrollTop
document.body.scrollleft;  谷歌浏览器

4)面向对象

对象 是包含相关属性和方法的集合

什么是面向对象
面象对象仅仅是一个概念或者编程思想
通过一种叫做原型的方式来实现面向对象的编程

创建对象

自定义对象
内置对象

自定义对象是基于object对象的方式创建对象
语法
var 对象名称=new object();  通过 . 属性和方法 
常见的内置对象
String (字符车) 对象
Date(日期) 对象
Array(数组) 对象
Boolean(逻辑) 对象
Math(算数) 对象
RegExp 对象  ------正则表达式对象

如何解决使用同一个接口不需要创建很多对象,减少产生大量重复的代码

** 构造函数

**原型对象

构造函数 是创建特定类型的对象   this变量  new操作符
构造函数始终都应该以一个大写的字母开头

调用构造函数的四个步骤
*创建一个新对象
*将构造函数的作用域给新对象(this就指向了这个新对象)
*执行构造函数中的代码
*返回新对象

constructor属性标识它的对象属性

instanceof操作符检测对象类型

原型对象
每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象
prototype就是通过调用构造函数而创建的那个对象实例的原型对象

原型链 一个原型对象是一个原型对象的实例
相关的原型对象层层递进,就构成了实例与原型的链条,就是原型链

搜索当前的实例

搜索第一个的prototype

对象继承
创建子类对象时,不能向父类型的构造函数中传递参数
借用构造函数
apply([thisOjb[,argArray]])
应用某一个对象的一个方法,用另一个对象替换当前对象

call([thisObj[,arg[,arg2[,[argN]]]]])
调用一个对象的一个方法,以另一个对象替换当前对象
借用构造函数的一个大的优势
可以在子类型构造函数中向父类型构造函数传递参数

组合继承:有时候也叫做伪经典继承
将原型链和借用构造函数的技术组合到一块,发挥二者之长的一种继承模式
使用原型链实现对原型属性和方法的继承,而通过借用构造函数来实现对实例属性的继承
搜索第二个的prototype

JavaScript 网页脚本语言 由浅入深 (随笔)的更多相关文章

  1. javascript(脚本语言)

    javascript(脚本语言)一.注释语法:1.单行注释 //注释内容2.多行注释 /*注释内容*/二.输出语法js语言格式,尽量靠下写,属双标签<script type=”text/java ...

  2. JavaScript 是脚本语言

    JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行. JavaScrip ...

  3. javascript是脚本语言?javascript万物皆对象?

    呵呵哒!带你见识下js面对对象的魅力 是的是的,退后,朕要开始装逼了- 这是什么鸟东西?是的是的,装逼开始,2016年度最佳JS编译器,ES6标准出来后,小伙伴们对新特性摩拳擦掌,奈何浏览器支持把我们 ...

  4. JavaScript脚本语言基础(一)

    导读: JavaScript代码嵌入HTML文档 JavaScript代码运行方式 第一个实例 JavaScript的三种对话框 定义JavaScript变量 JavaScript运算符和操作符 Ja ...

  5. ECMAScript进化史(1):​话说Web脚本语言王者JavaScript的加冕历史

    互联网起火-Web时代的来临 在行文之前,反手就安利一下<浏览器史话中chrome霸主地位的奠定与国产浏览器的割据混战>. 浏览器始祖NCSA Mosaic在1993年1月发布(于1992 ...

  6. JavaScript学习01 语言简介、基本使用和变量声明

    JavaScript语言简介.基本使用和变量声明 JavaScript是网景(Netscape)公司开发的一种基于客户端浏览器.面向对象.事件驱动式的网页脚本语言. JavaScript的前身叫Liv ...

  7. JavaScript 引入方式 语言规范 语言基础 数据类型 常用方法 数组 if_else 比较运算符 for while 函数 函数的全局变量和局部变量 {Javascript学习}

    Javascript学习 JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript ...

  8. 全栈工程师之路(二)—— JavaScript(网页前端脚本语言)

    javascript 是可以运行在网页前端的脚本语言,可以基于 html 之上实现更丰富的交互(网页内容的交互显示).异步回调.多线程.定时器.动画等. hello_world.html <ht ...

  9. 9月12日JavaScript脚本语言

    JS脚本语言 JS脚本语言全称JavaScript,是网页里面使用的脚本语言,也是一门非常强大的语言. 一.基础语法 1.注释语法 单行注释:// 多行注释:/**/ 2.输出语法 ①alert(信息 ...

随机推荐

  1. Richard Stallman:让我们关注和尊敬自由软件教父

    1953年,Richard Stallman生于美国纽约曼哈顿区.在度过了并不快乐的童年之后,他在哈佛大学找到了自己的家.在MIT人工智能实验室工作期间,展露出了自己的计算 机天赋.对他来说,开发操作 ...

  2. 20145226夏艺华 《Java程序设计》第6周学习总结

    教材学习内容总结 学习目标 理解流与IO 理解InputStream/OutPutStream的继承架构 理解Reader/Writer继承架构 会使用装饰类 会使用多线程进行并发程序设计 第十章 输 ...

  3. [转]STL 容器一些底层机制

    1.vector 容器 vector 的数据安排以及操作方式,与 array 非常相似.两者的唯一区别在于空间的运用的灵活性.array 是静态空间,一旦配置了就不能改变,vector 是动态数组.在 ...

  4. Java Dom对XML的解析和修改操作

    与Dom4J和JDom对XML的操作类似,JDK提供的JavaDom解析器用起来一样方便,在解析XML方面Java DOM甚至更甚前两者一筹!其不足之处在于对XML的增删改比较繁琐,特开篇介绍... ...

  5. 84.VMware Tools安装——设置共享文件

    一.安装VMware Tools 1.如图所示,点击安装 2.出现如下界面,将VMwareTools-9.6.2-1688356.tar.gz安装包复制到主文件夹下 3.输入命令tar -zxvf V ...

  6. Django中HttpRequest和HttpResponse

    请求和响应对象 Django中通过使用请求和响应对象来传递系统的状态. 当请求一个页面的时候,Django就创建一个HttpRequest对象,它包含了关于请求的元数据对象,然后Django加载适当的 ...

  7. Bootstrap FileInput中文API文档

    Bootstrap FileInput中文API整理 这段时间做项目用到bootstrap fileinput插件上传文件,在用的过程中,网上能查到的api都不是很全,所以想着整理一份比较详细的文档, ...

  8. java 内部类的继承

    因为内部类的构造器必须连接到指向其外部类对象的引用. 因为在继承内部类的时候那个指向外部类对象的"秘密的"引用必须被初始化,而在导出类中不再存在可连接的默认对象,要解决这个问题必须 ...

  9. opencv(4)实现数据增加小工具

    数据增加(data augmentation),作为一种深度学习中的常用手段,数据增加对模型的泛化性和准确性都有帮助.数据增加的具体使用方式一般有两种,一种是实时增加,比如在Caffe中加入数据扰动层 ...

  10. Centos之链接命令

    链接命令:ln  (link) ln -s [源文件] [目标文件] 功能描述:生成链接文件 选项: -s 创建软链接 硬链接特征: 1,拥有相同的i节点和存储block块,可以看作是同一个文件: 2 ...