03 前端篇(JS)
参考博客:http://www.cnblogs.com/yuanchenqi/articles/5980312.html
JavaScript包括三部分: ECMAScript、DOM、BOM
Javascript在开发中大多数情况下是基于对象的,也是面向对象的。
ECMAScript:语法、类型、语句、关键字、保留字、运算符、对象
JavaScript 引入方式:
- 直接编写:建议放在 body 的最后
<script>
alert(“hello div”)
</script>
2. 导入文件:建议放在 head 里面
<script src=”hello.js></script>
变量:var
注释方式:1. // 2. /* */
数据类型: 1. Number,包括整型和浮点型 2. String 3. Boolean 4. Null 5. Undefined:undefined
NaN:当字符串转换成数字失败时,就是NaN,属于 Number数据类型
NaN 数据在表达式中结果一定为 false,除了 !=
typeof:数据类型查询,只能检测基本数据类型,对象不能检测
逻辑运算符:
ECMAScript:
native object:
host object: DOM 、BOM
DOM: document.write
BOM:alert(“111”)
function 创建方式:
- function func() {
alert(123);
return 8;
}var ret = func()
alert(ret) - var func2 = new function ("1", "n", "函数体") ;
instanceof:检测对象类型 s instanceof String
字符串:
两种创建方式:1. var s=“hello” 2. var s2=new String(“hello”)
方法:
1. s.length
2. 遍历
3. 编排方法:s.italics() s.bold() s.anchor()
4.大小写转换: s.toUpperCase() s.toLowerCase()
5. 获取指定字符: s.charAt(3)//取对应位置的字符
s.charCodeAt(3)//取对应位置字符的ASCII值
6. 查询字符串: s.match(“l”)//返回一个数组,里面是所有匹配结果 s.search(“l”)//得到第一个匹配结果的索引值
7. s.replace(“E”,”e”); s.split(“E”); s.concat(“ world”)// 进行字符串拼接
8. 截取字符串: s.substr(1, 2) //从索引 1 开始往后取 2 个元素
s.substring(1,3) //从索引1 取到索引2
s.slice(1, -2) //后面的位置可以取负数,也是左闭右开
9. 根据元素取索引 s.indexOf(“l”) s.lastIndexOf(“l”)
数组 Array:
创建方式: 1. var arr=[1,2,3] 2. var arr2=new Array(1,2,3,4)
//如果采用初始化对象方式创建数组,如果里面只有一个值且是一个数字,那么数字表示的是长度,而不是内容 var arr=new Array(3)
//数组是可变长的
数组对象的方法:
- [“hello”,”world”].join(“---”)
- 栈操作:push、pop(在栈顶部操作) unshift、shift(在栈底部操作)
arr5.push(13)
var ret = arr5.pop()//删除最后一个元素,返回值是删除元素的值
arr5.unshift(45)
arr5.shift
3. 排序:sort reverse
arr5.reverse() //反转,直接更改数组
arr5.sort()
4. concat: 连接数组 b=a.concat(4,5)
5. toString() // a.toString() 用 ’,’ 连接数组内的每个元素
Date 对象:
- 创建方式: var date_obj=new Date();
正则对象:
Math 对象:
Window 对象方法:
alert():显示带有一段消息和一个确认按钮的警告框
confirm():显示带有一段消息以及确认按钮和取消按钮的警告框
prompt():显示可提示用户输入的对话框
setInterval():循环的,按照指定的周期(以毫秒计)来调用函数或计算表达式
clearInterval():取消由setInterval设置的timeout
setTimeout():只一次,在指定的毫秒后调用函数或计算表达式
clearTimeout():取消由setTimeout设置的timeout
document.getElementById(“clock”)
document.getElementsByClassName(“div2”)
History 对象方法:
history内部三种方法:forward、back、go history.go(-1|1)
一个属性length:保存的是 history 的历史页面个数
location:
onclick=”location.reload()” 刷新
onclick = “location.href=’http://www.baidu.com’”
DOM对象:
HTML中所有内容都是节点(NODE)
整个文档是一个文档节点(Document 对象)
每个HTML元素是元素节点(element对象)
html元素内的文本是文本节点(text 对象)
注释是注释节点(comment对象)
节点(自身属性):
attributes:节点的属性节点
nodeType:节点类型
nodeValue:节点值
nodeName:节点名称
innerHTML:节点(元素)的文本值,即 text 值
导航属性:
parentNode:节点的父节点
firstChild:节点下第一个子元素 #text
lastChild:节点下最后一个子元素
childNodes:节点(元素)的子节点
parentElement:
firstElementChild:
lastElementChild:
children:子节点元素
nextElementSibling:下一个兄弟节点标签
previousElementSibling:上一个兄弟节点标签
访问HTML元素(节点):
getElementById()
getElementsByTagName() : p、div
getElementsByClassName()
getElementsByName(): <p name=”lily”> hello p </p>
全局查找:
在document下查找: document.xxx
局部查找: 局部查找不可以通过 id 、name var ele = document.getElementsByClassName(“div3”)
var ele2 =ele.getElementsByTagName(“p”)
HTML DOM Event:
onclick:点击
ondblclick:双击
onfocus:元素获得焦点 // 练习:输入框
onblr:失去焦点
onchange:域的内容被改变,应用场景
onkeydown:按下键盘某个键
onkeypress:键盘被按下并松开
onkeyup:键盘被松开
onload:一张页面或一幅图像。放在body标签上,当页面记载完成后才会去执行对应函数的内容。
window.onload=function(){ .....}
onmousedown:按下鼠标
onmousemove:移动鼠标
onmouseout:鼠标离开指定区域会触发
onmouseover:鼠标一进入指定区域就会触发
onsubmit:只能绑定在 form 标签上
event.stopPropagation():阻止事件传播
标签的增删改查:
添加: createElement(“p”) appendChild(son)
删除:removeChild(last_son)
改:ele.innerHTML 、ele.innerText 前者可以解析字符串内的标签
ele.style.fontSize=”30px”
elementNode.setAttribute(name,value)
elementNode.getAttribute(name)
elementNode.className
elementNode.classList.add(“big”)
elementNode.classList.remove(“big”)
DHTML: dynamic html(动态html)
<a href=”javascript:void(0)”>hello</a>,实现的功能和 onclick 一样,javascript 就是一个伪协议
03 前端篇(JS)的更多相关文章
- 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)
目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...
- 前端总结·基础篇·JS(一)五大数据类型之字符串(String)
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(二)补充 前端总结·基础篇·JS(一)五大数据类型之字符串(String) 目录 这是& ...
- 前端总结·基础篇·JS(三)arguments、callee、call、apply、bind及函数封装和构造函数
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...
- 前端总结·基础篇·JS(四)异步请求及跨域方案
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...
- 前端总结·基础篇·JS(一)原型、原型链、构造函数和字符串(String)
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...
- angular2之前端篇—1(node服务器分支)
上一篇.net core和angular2之前端篇-1 使用的是dotnet模板.之所以用它,因为想用他写webapi,但是写道下一篇的时候遇到点问题,所以先写个分支测试一下.这次是用Node作为服务 ...
- 【原】让H5页面适配移动设备全家 - 前端篇 - PPT
7月份在部门内给设计中心的同事们带来<让H5页面适配移动设备全家 - 设计师篇 - PPT>的分享,在视觉和交互稿上提出页面适配的建议及提升页面体验的好处,促进前端和设计双方更好的合作,同 ...
- Web前端-Vue.js必备框架(五)
Web前端-Vue.js必备框架(五) 页面组件,商品列表组件,详情组件,购物车清单组件,结算页组件,订单详情组件,订单列表组件. vue-router 路由 vuex 组件集中管理 webpack ...
- Web前端-Vue.js必备框架(四)
Web前端-Vue.js必备框架(四) 计算属性: <div id="aaa"> {{ message.split('').reverse().join('') }} ...
随机推荐
- Swagger使用指南
1:认识Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法 ...
- javascript中apply、call和bind的区别及方法详解
文章目录 apply.call apply.call 区别 apply.call实例 数组之间追加 获取数组中的最大值和最小值 验证是否是数组(前提是toString()方法没有被重写过) 类(伪 ...
- java中并发下的集合类
java中常见的集合类大部分是非线程安全的,在多线程情况下会报并发修改异常(ConcurrentModificationException) 并发下的ArrayList类: //集合类不安全的例子 p ...
- 【Linux篇】--sed的用法
一.前述 Sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用 ...
- 解决mac上每次升级nodejs都要重新安装扩展包的问题
虽然有了一些新生派竞品比如yarn,但使用或者习惯了npm的开发者仍然大有人在. 以前用起来没注意到这个现象,最近一段时间发现,每次随着使用brew upgrade自动升级了nodejs版本,原来安装 ...
- Android序列化
1.序列化的目的 (1)永久的保存对象数据(将对象数据保存在文件当中,或者是磁盘中 (2)通过序列化对象在网络中传递对象 (3)通过序列化对象在进程间传递 (4)在Intent之间,基本的数据类型直接 ...
- 机器学习——交叉验证,GridSearchCV,岭回归
0.交叉验证 交叉验证的基本思想是把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分做为验证集(validation set or test set) ...
- Hadoop3.2.0使用详解
1.概述 Hadoop3已经发布很久了,迭代集成的一些新特性也是很有用的.截止本篇博客书写为止,Hadoop发布了3.2.0.接下来,笔者就为大家分享一下在使用Hadoop3中遇到到一些问题,以及解决 ...
- JSP 内置对象(上)
JSP 内置对象是 Web 容器创建的一组对象,不使用 new 关键字就可以直接使用的对象.如上一章中使用脚本实现打印九九乘法表中的out对象 <%-- 脚本:out对象是JSPWriter类的 ...
- swagger文档转换为WebApiClient声明式代码
1 swagger简介 Swagger是一个规范且完整的框架,提供描述.生产.消费和可视化RESTful Web Service.其核心是使用json来规范描述RESTful接口,另外有提供UI来查看 ...