javascript详细介绍
一、JavaScript基础
1.什么是JavaScript?
JavaScript是一种客户端运行的解释性脚本语言。
JavaScript是由网景(Netscape)推出的产品。
Microsoft推出的JScript。
ECMAScript(欧洲计算机制造商协会),
2.JavaScript能做什么?
完成客户端的交互工作(如表单的验证、焦点广告、菜单效果等)。
3.JavaScript的使用方式
3.1 使用外部的JS文件
JavaScript文件的扩展名.js
<scrip type="text/javascript" src="JS文档URL"></script>
3.2 书写于文档的头部
<scrip type="text/javascript">
...
...
</script>
4.JS代码规范
A.可选的分号(但一般情况下都需要分号结尾)
B.大小写敏感
C.每行代码尽量不要超过80个字符。
5.标识符
指语言环境下的变量名称、类名称、对象名称等。
A.标识符必须以字母或下划线开头,包含字母、数字及下划线。
B.标识符禁止包含空格、斜线等特殊符号。
C.标识符禁止与系统关键字相同。
6.变量
[var] 变量名称;
[var] 变量名称 = 值;
说明:建议在声明变量时使用var关键字。
二、数据类型
1.字符型(string),必须括在单引号/双引号之间。
转义符:
\n,换行
\r,回车
\t,水平制表符
\v,垂直制表符
\\,反斜线
\',单引号
\",双引号
2.数值型(Number),可以存储整数或浮点数,可以带有符号位。
3.布尔型(Boolean),只有true和false。
4.数据类型的自动转换
字符+数字:数字转换成字符
数字+布尔:布尔转换成数字(true=>1,false=>0)
字符+布尔:布尔转换成字符(true=>"true",false=>"false")
布尔+布尔:布尔转换成数字(true=>1,false=>0)
5.数据类型的强制转换
parseInt,转换成整数
parseFloat,转换成浮点型
6.JavaScript的调试工具(补)
Firebug(F12) --> Console(控制台)
7.运算符
字符运算符:+
算术运算符:+(正数)、-(负数)、*、/、%、+、-、
逻辑运算符:!、&&、||
比较运算符:>、>=、==、!=、<>、===(全等)、!==(不全等)、<=、<
全等:值与数据类型完全匹配。
自增/自减运算符:
i++,i--(后缀形式:先使用,后加减)
++i,--i(前缀形式:先加减,后使用)
三目运算符: 表达式? 值:值;
8.流程控制:
if
if...else
if...else if...else
switch
for
while
do...while
三、JavaScript的内置对象
1.String
1).创建String对象
a.直接量方式
var object = '值';
var object = "值";
b.构造函数方式
var object = new String("value");
2).属性:length
描述:获取字符串的长度
语法:int object.length
3).方法
toLowerCase() 描述:转换成小写字母
语法:string object.toLowerCase()
toUpperCase() 描述:转换成大写字母
语法:string object.toUpperCase()
substr() 描述:截取字符串
语法:string object.substr(int start[,int length])
说明:A.字符从0开始编号 B.起始位置为负数,则倒数
substring() 描述:截取字符串
语法:string object.substring(start[,end])
说明:包含起始位置,但不包含结束位置。
indexOf() 描述:返回一个字符串在另一个字符串第一次出现的位置
语法:int object.indexOf(string str[,int start])
说明:如果没有出现则返回-1
lastIndexOf() 描述:返回一个字符串在另一个字符串最后一次出现的位置
语法:int object.lastIndexOf(string str[,int start])
说明:如果没有出现则返回-1
charAt(int pos) 等价于 substr(int pos,1)
replace() 描述:字符替换
语法:string object.replace(object regExp,string replacement)
split 描述:将字符串拆分成数组
语法:array object.split(string separator)
2.Math
1).属性
Math.PI
Math.SQRT2
2).方法
Math.ceil() 描述:向上取整
语法:int Math.ceil(float val)
Math.floor() 描述:向下取整
语法:int Math.floor(float val)
Math.pow() 描述:幂运算
语法:float Math.pow(float base ,float exp)
Math.sqrt() 描述:平方
语法:float Math.sqrt(float val)
Math.min() 描述:返回最小值
语法:float Math.min(float val,float val,....)
Math.max() 描述:返回最大值
语法:float Math.max(float val,float val,....)
Math.round() 描述:四舍五入
语法:float Math.round(float val)
说明:保留到整数位。
Math.random() 描述:产生随机数
语法:float Math.random()
3.Array
1).创建数组
直接量方式
var object = [值,....]
构建函数方式
var object = new Array(值,...)
2).属性:length
描述:返回数组成员的数量
语法:int object.length
3).访问数组成员
数组名称[下标]
说明:数组的下标从0开始。
for...in语句 作用:遍历数组/对象
语法:
for(变量名称 in 数组/对象){
...
}
4).方法
join() 描述:将数组成员连接成字符串
语法:string object.join([string separator])
push() 描述:在数组的未尾添加一个或多个成员
语法:int object.push(val,...)
unshift() 描述:在数组的开头添加一个或多个成员
语法:int object.unshift(val,...)
pop() 描述:删除数组的最后一个成员,并且返回该成员
语法:val object.pop()
shift() 描述:删除数组的第一个成员,并且返回该成员
语法:val object.shift()
slice() 描述:截取数组
语法:array object.slice(start[,end])
reverse() 描述:数组反转
语法:array object.reverse()
4.Date
1).创建Date对象
var object = new Date()
2).方法
getYear() 描述:获取年份
语法:int object.getYear()
getFullYear() 描述:获取年份
语法:int object.getFullYear()
getMonth() 描述:获取月份(取值范围为0~11)
语法:int object.getMonth()
getDate() 描述:获取日期(多少号)
语法:int object.getDate()
getDay() 描述:获取星期的第几天(0为星期日,依次类推)
语法:int object.getDay()
getHours() 描述:获取小时
语法:int object.getHours()
getMinutes() 描述:获取分钟
语法:int object.getMinutes()
getSeconds() 描述:获取秒
语法:int object.getSeconds()
getTime() 描述:获取毫秒
语法:int object.getTime()
四、自定义函数
1.什么是自定义函数
完成某种功能的代码段。
2.创建自定义函数
function 函数名称([参数[,...]]){
...
...
[return 返回值]
}
3.调用自定义函数
[var 变量名称=] 函数名称([值[,...]])
4.变量作用域
4.1 JS编译和执行过程
A.编译,只负责变量的声明和函数的定义。
而且所有变量的初始值为undefined.
B.执行,自上而下,
4.2 变量作用域
全局变量
局部变量
5.arguments对象
arguments对象指由函数的参数所组成的对象。
length属性
6.匿名函数
没有名称的函数称为匿名函数。
7.全局函数
parseInt()
parseFloat()
isNaN()
eval()
encodeURI 描述:对于URL地址中的信息进行编码
语法:string encodeURI(string str)
decodeURI 描述:对于URL地址中的信息进行解码
语法:string decodeURI(string str)
其中空格将转换成%2
五、DOM编程
1.什么是DOM?
DOM[Document Object Model],文档对象模型。
DOM提供处理XML/HTML文档的API。
DOM的主要操作:节点的获取、节点的动态的创建、创建的删除及节点的替换。
节点(Node),在DOM树中所存在的任何一个元素(如HTML元素,文本、属性等)。
节点的类型
Node.ELEMENT_NODE,1(元素类型)
Node.ATTRIBUTE_NODE,2(属性类型)
Node.TEXT_NODE,3(文本类型)
Node.COMMENT_NODE,8(注释类型)
Node.DOCUMENT_NODE,9(文档类型)
2.document对象
属性:bgColor,fgColor,title
方法
getElementById() 描述:根据ID获取对象
语法:Element document.getElementById(string id)
createElement() 描述:创建元素节点
语法:Element document.createElement(string tagName)
createTextNode 描述:创建文本节点
语法:textNode document.createTextNode(string value)
createComment 描述:创建注释节点
语法:commentNode document.createComment(string value)
createAttribute 描述:创建属性节点
语法:attrNode document.createAttribute(string name)
3.Node接口
属性
firstChild
lastChild
nextSibling
previousSibling
parentNode
childNodes
nodeName
nodeType
nodeValue
方法
appendChild() 描述:追加子节点
语法:object.appendChild(node)
insertBefore() 描述:插入子节点
语法:object.insertBefore(newNode[,refNode])
removeChild() 描述:删除节点
语法:object.removeChild(node)
replaceChild() 描述:节点的替换
语法:object.replaceChild(newNode,oldNode)
六、HTMLDOM元素
1.什么是HTMLDOM?
HTMLDOM提供处理HTML文档的API。
2.W3CDOM与HTMLDOM的区别
W3CDOM可以处理HTML/XML文档;
HTMLDOM仅能处理HTML文档。
3.获取对象
HTMLElement document.getElementById(string id)
4.访问HTML对象的属性
object.属性名称 = 值
[var 变量名称 = ] object.属性名称
说明:
A.HTML标记的属性即HTMLDOM节点的属性。
B.如果HTML标记的属性为合成词,在HTMLDOM中应采用"驼峰标记法"命名。
C.HTML标记的class属性,在HTMLDOM中应使用className取代。(因为class是ECMAScript预保留的关键字)
D.HTML标记的style属性,在HTMLDOM中将返回CSSStyleDecleration(或CSS2Properties)对象。
5.CSSStyleDecleration对象
访问CSS样式
CSSStyleDeclaration.属性名称 = 值
[var 变量名称 = ] CSSStyleDeclaration.属性名称 = 值
说明:
A.如果CSS样式为单个单词,则在CSSStyleDeclaration对象中直接书写。
B.如果CSS样式带有短横线,则在CSSStyleDeclaration对象中去掉短横线,然后再使用"驼峰标记法"命名。
C.CSS样式中的float属性在CSSStyleDeclaration对象中,如果浏览器为Chrome、Firefox等,则使用cssFloat取代;
如果浏览器为IE则使用styleFloat取代。
6.访问HTML对象的文本
所有文本都认为纯文本(HTML不能被解析) object.innerText
HTML可以被解析 object.innerHTML
7.添加节点
A.全部HTMLDOM节点的创建都可以通过W3CDOM的方法实现
B.有几个特殊的HTMLDOM节点,它们拥有自己的创建、删除方法。
7.1 图像
通过构造函数方式
[var 变量名称 = ] new Image(width,height)
7.2 列表框
A.列表框
add() 方法描述:添加Option对象
语法:object.add(optionElement)
remove() 方法描述:删除Option对象
语法:object.remove(index)
options 属性描述:返回列表框中所有列表项的集合
语法:object.options
value 描述:返回列表框中被选定选项的值
语法:string object.value
B.列表选项
创建列表选项对象(Option对象) -- 构造函数方式
[var 变量名称 = ] new Option(text[,value[,defaultSelected[,selected]]])
text,指列表项显示文本
value,指列表项的提交值,如果省略value,则提交值与显示文本相同。
defaultSelected,指是否为默认选项(boolean)
selected,指是否被选定(boolean)
七、总结
一、HTMLDOM
1.单选框/复选框/列表框
说明:
A.单选框/复选框在HTML中默认被选定,需
要使用checked="checked"属性;在HTMLDOM编程时需要使有object.checked = boolean语句。
B.所有表单控件(如单行文本框、密码框等)都存
在disabled="disabled"属性(禁用);在HTMLDOM编程时使用object.disabled = boolean语句。
二、选取对象的方法(总结)
A.document.getElementById(string id)
B.Element.getElementsByTagName(string tagName)
返回由标记名称所组成的集合(NodeList)。
C.document.getElementsByName(string name)
返回具有相同name属性的对象所组成的集合(主要用于复选框)
三、window对象
setTimeout() 描述:设置一次性定时器
语法:int window.setTimeout(string code,int time)
setInterval() 描述:设置周期性定时器
语法:int window.setInterval(string code,int time)
clearTimeout() 描述:清理由setTimeout()方法设置的定时器
语法:window.clearTimeout(int timeId)
clearInterval() 描述:清理由setInterval()方法设置的定时器
语法:window.clearInterval(int timeId)
open() 描述:打开浏览器窗口
语法:window.open(url)
javascript详细介绍的更多相关文章
- Webpack 打包 Javascript 详细介绍
本篇我们主要介绍Webpack打包 Javascript.当然,除了可以打包Javascript之外,webpack还可以打包html.但是这不是我们本篇的重点.我们可以参考 Webpack HTML ...
- JavaScript FormData的详细介绍及使用
本文转自:https://blog.csdn.net/liupeifeng3514/article/details/78988001 FormData的详细介绍及使用请点击此处,那里对FormData ...
- html <input>标签类型属性type(file、text、radio、hidden等)详细介绍
html <input>标签类型属性type(file.text.radio.hidden等)详细介绍 转载请注明:文章转载自:[169IT-最新最全的IT资讯] html <inp ...
- js中的json对象详细介绍
JSON一种简单的数据格式,比xml更轻巧,在JavaScript中处理JSON数据不需要任何特殊的API或工具包,下面为大家详细介绍下js中的json对象, 1.JSON(JavaScript Ob ...
- JQuery中的AJAX参数详细介绍
Jquery中AJAX参数详细介绍 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方 ...
- js 获取时间 new Date()详细介绍
javaScript系列:js中获取时间new Date()详细介绍 (2012-03-31 09:54:25) 转载▼ 标签: js时间 new date() 字符类型 转换 分类: study-j ...
- web前端之 HTML标签详细介绍
html标签的分类 点我查看完整的html标签介绍 在html中,标签一般分为块级标签和行内标签 块级标签:块元素一般都从新行开始,它可以容纳内联元素和其他块元素,常见块元素是段落标签"p& ...
- JavaScript重新介绍
本文转载自 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/A_re-introduction_to_JavaScript 引言 为什么 ...
- react-native热更新之CodePush详细介绍及使用方法
react-native热更新之CodePush详细介绍及使用方法 2018年03月04日 17:03:21 clf_programing 阅读数:7979 标签: react native热更新co ...
随机推荐
- MySQL导出和导入
MySQL的几句脚本 最近做了几次mysql的备份和恢复, 找了一些资料, 写了一些脚本, 记录一下. #导出 mysqldump $_login_info_ $_src_db_name_ --no- ...
- 半小时写完替罪羊重构点分树做动态动态点分治之紫荆花之恋的wyy贴心指导
刷题训练 初学者 有一定语言基础,但是不了解算法竞赛,水平在联赛一等奖以下的. 参考书:<算法竞赛入门经典--刘汝佳>,<算法竞赛入门经典训练指南--刘汝佳> 题库:洛谷(历年 ...
- Java 8 Date常用工具类
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11983108.html Demo package org.fool.util; import java ...
- layui js动态添加的面板不能折叠
layui 动态添加dom后一般调用 layer.form.render()更新dom就可以了,但是我动态添加一个面板后form.render()就没有效果,要用layui.element.rende ...
- 【leetcode】1144. Decrease Elements To Make Array Zigzag
题目如下: Given an array nums of integers, a move consists of choosing any element and decreasing it by ...
- HDU 5687 Problem C ( 字典树前缀增删查 )
题意 : 度熊手上有一本神奇的字典,你可以在它里面做如下三个操作: 1.insert : 往神奇字典中插入一个单词 2.delete: 在神奇字典中删除所有前缀等于给定字符串的单词 3.search: ...
- 详解HASH(字符串哈希)
HASH意为(散列),是OI的常用算法. 我们常用哈希的原因是,hash可以快速(一般来说是O(段长))的求出一个子段的hash值,然后就可以快速的判断两个串是否相同. 今天先讲string类的has ...
- 关于VS连接Oracle数据库提示:“尝试加载oracle客户端时引发badimage,如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题”的解决方案。
错误一.关于VS连接Oracle数据库提示:“尝试加载oracle客户端时引发badimage,如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题”的解决方案. ...
- 一文读懂跨平台框架 Flutter 的搭建与运行
作者:个推iOS开发工程师 伊泽瑞尔 Flutter是Google推出的跨平台的解决方案,用以帮助开发者在 Android 和 iOS 两个平台开发高质量原生应用的全新移动 UI 框架. 之前我们为大 ...
- SpringBoot:配置文件及自动配置原理
西部开源-秦疆老师:基于SpringBoot 2.1.6 的博客教程 秦老师交流Q群号: 664386224 未授权禁止转载!编辑不易 , 转发请注明出处!防君子不防小人,共勉! SpringBoot ...