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('') }} ...
随机推荐
- 【Spring源码分析系列】ApplicationContext 相关接口架构分析
[原创文章,转载请注明出处][本文地址]http://www.cnblogs.com/zffenger/p/5813470.html 在使用Spring的时候,我们经常需要先得到一个Applicati ...
- Python写爬虫爬妹子
最近学完Python,写了几个爬虫练练手,网上的教程有很多,但是有的已经不能爬了,主要是网站经常改,可是爬虫还是有通用的思路的,即下载数据.解析数据.保存数据.下面一一来讲. 1.下载数据 首先打 ...
- Linux常用命令速查-汇总篇
Linux常用命令速查-用户管理 Linux常用命令速查-文件管理 Linux常用命令速查-系统监控 Linux常用命令速查-网络管理 Linux常用命令速查-定时任务 Linux常用命令速查-Vim
- linux 上安装多个不同版本的mysql 踩的坑
最近由于业务需要,考虑使用json类型,据了解 mysql 在版本5.7中可以支持 json 类型的数据支持,但同时目前开发环境中使用的是 mysql 5.6版本,上面还有很多项目的数据库在上面,同时 ...
- 【Keras篇】---利用keras改写VGG16经典模型在手写数字识别体中的应用
一.前述 VGG16是由16层神经网络构成的经典模型,包括多层卷积,多层全连接层,一般我们改写的时候卷积层基本不动,全连接层从后面几层依次向前改写,因为先改参数较小的. 二.具体 1.因为本文中代码需 ...
- 【Android Studio安装部署系列】十三、Android studio添加和删除Module
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 新建.导入.删除Module是常见的操作,这里简单介绍下. 新建Module File——New——New Module... 选中 ...
- Java 集合详解
一.集合的由来 通常,我们的程序需要根据程序运行时才知道创建多少个对象.但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型.为了满足这些常规的编程需要,我们要 ...
- 装箱问题的CPLEX求解
装箱问题(Bin Packing Problem) 装箱问题即搬家公司问题.一个搬家公司有无限多的箱子,每个箱子的承重上限为W,当搬家公司进入一个房间时,所有物品都必须被装入箱子,每个物品的重量为wi ...
- 时间序列算法(平稳时间序列模型,AR(p),MA(q),ARMA(p,q)模型和非平稳时间序列模型,ARIMA(p,d,q)模型)的模型以及需要的概念基础学习笔记梳理
在做很多与时间序列有关的预测时,比如股票预测,餐厅菜品销量预测时常常会用到时间序列算法,之前在学习这方面的知识时发现这方面的知识讲解不多,所以自己对时间序列算法中的常用概念和模型进行梳理总结(但是为了 ...
- C# 数组Array
数组是对相同类型的一组数据的封装.数组定义的时候,要说明是对哪一种类型的封装,并且要指定长度. using System; using System.Collections.Generic; usin ...