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('') }} ...
随机推荐
- window下编译jcef
自行编译jcef过程中遇到了一些问题,现在记录如下. 参考的主要文章是jcef的官方介绍: https://bitbucket.org/chromiumembedded/java-cef/wiki/B ...
- C# XML序列化/反序列化参考
.NET提供了很不错的XML序列化/反序列化器,(它们所在的命名空间为System.Xml.Serialization)这是很方便的,下面对它的使用做一些总结,以供参考. 1,简单序列化 public ...
- Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!
Spring Cloud 的注册中心可以由 Eureka.Consul.Zookeeper.ETCD 等来实现,这里推荐使用 Spring Cloud Eureka 来实现注册中心,它基于 Netfl ...
- 用ASP.NET Core 2.1 建立规范的 REST API -- 保护API和其它
本文介绍如何保护API,无需看前边文章也能明白吧. 预备知识: http://www.cnblogs.com/cgzl/p/9010978.html http://www.cnblogs.com/cg ...
- C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码
前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 嗯..前面 ...
- DotNetCore深入了解之三HttpClientFactory类
当需要向某特定URL地址发送HTTP请求并得到相应响应时,通常会用到HttpClient类.该类包含了众多有用的方法,可以满足绝大多数的需求.但是如果对其使用不当时,可能会出现意想不到的事情. usi ...
- Python3+unitest自动化测试初探(上篇)
目录 1.概念介绍 2.准备工作 3.一个简单的例子 4.test fixture 5.测试套 1.概念介绍 unit test:单元测试,可以简单粗暴地理解成用一段代码去测试另外一段代码.unitt ...
- SpringBoot + Spring Security 学习笔记(三)实现图片验证码认证
整体实现逻辑 前端在登录页面时,自动从后台获取最新的验证码图片 服务器接收获取生成验证码请求,生成验证码和对应的图片,图片响应回前端,验证码保存一份到服务器的 session 中 前端用户登录时携带当 ...
- NodeJs之邮件(email)发送
NodeJs之邮件(email)发送 一,介绍与需求 1.1,介绍 1,Nodemailer简介 Nodemailer是一个简单易用的Node.js邮件发送插件 github地址 Nodemailer ...
- Netty源码—一、server启动(1)
Netty作为一个Java生态中的网络组件有着举足轻重的位置,各种开源中间件都使用Netty进行网络通信,比如Dubbo.RocketMQ.可以说Netty是对Java NIO的封装,比如ByteBu ...