[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
编程语言
> 详细
JavaWeb之javaScript
时间:
2020-09-25 16:41:41
阅读:
55
评论:
0
收藏:
0
[点我收藏+]
JavaScript
JavaScript
js简介
js是基于对象和事件驱动语言(脚本)
基于对象,提供了很多对象,可以直接使用
事件驱动,动作触发时,要执行的功能,可以理解为“监听器”
js特性
交互性,数据信息的交互
安全性,js本身是不能访问客户端本地磁盘的
跨平台,通过浏览器实现跨平台
JavaScript结构
ECMAScript
ECMA:欧洲计算机协会
script
BOM
browser object model
浏览器对象模型
DOM
document object model
文档对象模型
js的使用
JavaScript与HTML结合使用
使用方式
使用script标签
导入script文件
如果在script标签中导入js文件,就不能在此标签中写js代码
js的原始类型
string
字符串
var str = "hello"
number
数值
var shu = 10
var xiaoshu = 3.14
boolean
布尔
var bool = true
null
作用在对象身上
var date = new Date()
undifined
未知的数值
在js中,没有数据类型匹配,在js中定义变量或对象时,统一使用var
typeof工具方法,查看当前变量是什么类型的
js语句
if
switch
for
while
do...while
js运算符
大部分和Java一样 ~(-……-)||~
与Java不同的地方
整数区别:Java整数有取整现象,但是js中不存在(js没有数据类型)
字符串区别:在Java中使用字符串‘+’操作,字符串连接,js一样。但是在使用‘-’运算符时,Java会报错,js:NaN(表示不是一个数字)
布尔区别:在js中true可以理解成一切非零值,false理解成零值,但是在Java中不可以,Java是强类型语言,类型不同不能比较
‘==’和‘===’的区别,在js中‘===’需要判断类型是否相同,类型相同后继续比较数值是否相等,而Java中,根本就没有三个等号啊,秋梨膏
js中的数组
Java中的数组 int[] arr = new int[10]
js中的数组 var arr=[10,"hello",3.14] var arr = new Array(3,4,5)
常用方法
join(String):将数组中的每个元素与指定参数相连接,形成一个字符串
push():将指定参数数据添加到数组的尾部
pop():将数组的最后尾部数据弹出
reverse():将数组的数据翻转
js中的函数
在定义函数的时候需要使用关键字
function函数名称(参数列表){函数体;返回值;}
参数列表中的每个形参是不需要指定var
js中的String对象
js中的字符串与Java中的String类相似
bold:设置字符串加粗
fontcolor:设置字符串颜色
link:设置字符串链接
forsize:设置字符串大小
sub:设置字符串下角标
sup:设置字符串上角标
等等
字符串常用操作方法
大部分和Java相差不大
charAt():查找字符
indexOf():查找索引
split():截取
length():长度
concat():连接
replace():替换
时间
Date表示时间
也需要new Date()
toLocaleString()转换成本地时间
getFullYear():获取年
getMonth()+1:获取月份 -- 默认是0-11
getDate():获取日
getHours():获取时
getMinutes():获取分
getSeconds():获取秒
getDay():获取星期 0-6(0指星期日)
getTime():获取时间戳
js中的全局函数
eval(String):可以将String参数以js的方式进行解析
encodeURL(String):对字符串进行编码
decodeURL(String):对编码进行转换成字符串
isNaN():判断是否为一个数字
parelnt()类型转换
js中的BOM
什么是BOM
browser object model 浏览器对象模型
常用操作
navigator:获取客户端浏览器相关信息
screen:获取客户端用于显示的信息,常用的是获取屏幕的分辨率
location:控制浏览器的URL地址栏,可以使用href属性设置页面动态地址
history:访问浏览器的历史记录(只限于当次使用‘后退、前进、刷新‘)
前置history.back();history.go(-1);(可以理解为前进), 后置history.forward();history.go(1);(可以理解为后退)
window
由与window对象是js核心对象,在访问window对象下的方法时,不需要window调用
confirm():确认框 -- 返回值Boolean参数String
alert():弹窗
var url = prompt("提示信息","默认值") -- 返回值是获取输入框中的数据
open( URL , "保留参数,一般给空" , "(宽,高)" ,"Boolean 也可不给")
close():关闭窗口
opener.close():关闭关联/弹出窗口
close方法兼容性比较差
定时器
setInterval(Striing,int,第三个用的少,可以不写 ) -- 循环定时器
setTime -- 只执行一次
js中的DOM
js中的DOM对象主要针对于页面文档
当页面被加载时,浏览器会将页面中的标签,生成节点对象,多个嵌套标签构成"文档树"(DOM树)
整个文档对象称为:document
元素对象:Element(又称为"标签对象")
属性对象(id、class等等)
文本对象
节点对象:Node -- 是所有对象的父类
常用方法
wrile() -- 向页面输出数据,在输出数据时,可以输出常量/变量的数据,同时也可以在数据中体现出html标签
getElement(标签的id) -- 通过标签id获取标签对象
getElementsByName(标签的name属性) -- 根据标签的名称获取标签对象 返回值:标签对象数组
getElementsByTagName(标签名称) -- 根据标签的名称获取标签对象 返回值:标签对象数组
节点操作
可以使用DOM对象来对整个文档进行操作
创建节点对象
document.createElement("标签名") -- 属性对象
document.createTextNode("数据") -- 文本对象
将对象添加
父节点.appendChild(新节点)
操作对象常用方法
createElement(标签名称) -- 创建标签对象节点
createTextNode(文本数据) -- 创建文本对象节点
元素对象
DOM树中,每一个标签所对应的节点对象被称为"元素对象"
常用方法
getAttribute("属性对象名称" -- 获得属性对象的值)
setAttribute("属性对象名称","值") -- 可以根据属性对象名修改其值
removeAttribute("属性对象名称" -- 根据属性对象名称删除属性对象)
获取子标签
childNodes() -- 获取整个DOM树下所有的子标签
可以使用此方法获取子节点,但是兼容性不是很好
可以使用getElementsByTagName()方法来实现此功能
Node操作
在操作节点时不知道是属于哪种类型的节点时,可以使用Node节点来进行存储
Node对象结构
nodeName
nodeType
nodeValue
三种情况
标签节点
nodeType -- 对应值:1(代表标签对象)
nodeName -- 标签名称(全大写形式存储)
nodeValue -- null
属性节点
nodeType -- 对应值:2(代表属性对象)
nodeName -- 属性名称
nodeValue -- 属性值
文本节点
nodeType -- 对应值:3(代表文本对象)
nodeName -- #text
nodeValue --文本内容
Node节点操作
在DOM树结构中,可以通过制定的接地那对象获取相应结构
父节点 :parentNode()
子节点:firstChild()、lastChild()
兄弟节点、同级节点
下一个节点:nextSibing
上一个节点:previousSibing
注意:在ul和li结构中不能加载文本,所以在两个节点中中间提供一个文本节点
添加一个子节点:appendChild()
插入节点:insertBefore(newNode,oldNode)
在指定节点之前,插入一个新节点,参数一新节点,参数二现有节点
移除指定节点:remove()
移除指定的子节点,移除节点时,不能自己移除自己的节点
替换节点:replaceChild(newNode,oldNode)
替换指定的节点,参数一新节点,参数二要被替换的节点
克隆(复制节点)节点:cloneNode(Boolean)
克隆、复制一个节点,参数为Boolean,true表示克隆
var clone_ul = ul.cloneNode(true);
getAttributeNode() -- 获取属性节点方法
操作文本的方法
innerHTML
可以解析HTML
innerText
可以解析不能解析HTML
JavaWeb之javaScript
原文:https://www.cnblogs.com/zhenzhunaichabujiatang/p/13730576.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!