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('') }} ...
随机推荐
- 微信小程序开发之多图片上传+服务端接收
前言: 业务需求,这次需要做一个小程序同时选中三张图片一起上传到服务端,后端使用的.NET WEBAPI接收数据保存. 使用技术: 在这章中将会使用到微信小程序wx.uploadFile(Object ...
- Entity Framework Core 2.1,添加种子数据
EFCore 2.1出来有一段时间了,里面的新功能还没怎么用,今天研究下如何使用EF Core 2.1添加种子数据. 这部分的官方文档地址是:https://docs.microsoft.com/en ...
- 为什么不要使用 async void?
问题 在使用 Abp 框架的后台作业时,当后台作业抛出异常,会导致整个程序崩溃.在 Abp 框架的底层执行后台作业的时候,有 try/catch 语句块用来捕获后台任务执行时的异常,但是在这里没有生效 ...
- python接口自动化(五)--接口测试用例和接口测试报告模板(详解)
简介 当今社会在测试领域,接口测试已经越来越多的被提及,被重视,而且现在好多招聘信息要对接口测试提出要求.区别于传统意义上的系统级别测试,很多测试人员在接触到接口测试的时候,也许对测试执行还可以比较顺 ...
- springboot~Mongodb的集成与使用
说说springboot与大叔lind.ddd的渊源 Mongodb在Lind.DDD中被二次封装过(大叔的.net和.net core),将它当成是一种仓储来使用,对于开发人员来说只公开curd几个 ...
- JavaScript一看就懂(3)数组
定义数组 var a = [1, 2, 3]; typeof a; //"object", 数组是对象 a.length; //数组长度 相关操作 a[0]; //下标访问 a.p ...
- jquery快速入门(二)
jQuery 效果 1.隐藏,显示 1.1显示 hide() 和隐藏 show() 语法:$(selector).hide(speed,callback); $(selector).show(spee ...
- Python编程从入门到实践笔记——列表简介
Python编程从入门到实践笔记——列表简介 #coding=utf-8 #列表——我的理解等于C语言和Java中的数组 bicycles = ["trek","cann ...
- JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识
JAVA WEB快速入门系列之前的相关文章如下:(文章全部本人[梦在旅途原创],文中内容可能部份图片.代码参照网上资源) 第一篇:JAVA WEB快速入门之环境搭建 第二篇:JAVA WEB快速入门之 ...
- Django-restframework 之权限源码分析
Django-restframework 之权限源码分析 一 前言 上篇博客分析了 restframework 框架的认证组件的执行了流程并自定义了认证类.这篇博客分析 restframework 的 ...