参考博客:http://www.cnblogs.com/yuanchenqi/articles/5980312.html

JavaScript包括三部分: ECMAScript、DOM、BOM

Javascript在开发中大多数情况下是基于对象的,也是面向对象的。

ECMAScript:语法、类型、语句、关键字、保留字、运算符、对象

JavaScript 引入方式:

  1. 直接编写:建议放在 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 创建方式:

  1. function func() {
        alert(123);
        return 8;
    }

    var ret = func()
    alert(ret)

  2. 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)

//数组是可变长的

数组对象的方法:

  1. [“hello”,”world”].join(“---”)
  2. 栈操作: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 对象:

  1. 创建方式: 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)的更多相关文章

  1. 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)

    目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...

  2. 前端总结·基础篇·JS(一)五大数据类型之字符串(String)

    前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(二)补充 前端总结·基础篇·JS(一)五大数据类型之字符串(String) 目录 这是& ...

  3. 前端总结·基础篇·JS(三)arguments、callee、call、apply、bind及函数封装和构造函数

    前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...

  4. 前端总结·基础篇·JS(四)异步请求及跨域方案

    前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...

  5. 前端总结·基础篇·JS(一)原型、原型链、构造函数和字符串(String)

    前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...

  6. angular2之前端篇—1(node服务器分支)

    上一篇.net core和angular2之前端篇-1 使用的是dotnet模板.之所以用它,因为想用他写webapi,但是写道下一篇的时候遇到点问题,所以先写个分支测试一下.这次是用Node作为服务 ...

  7. 【原】让H5页面适配移动设备全家 - 前端篇 - PPT

    7月份在部门内给设计中心的同事们带来<让H5页面适配移动设备全家 - 设计师篇 - PPT>的分享,在视觉和交互稿上提出页面适配的建议及提升页面体验的好处,促进前端和设计双方更好的合作,同 ...

  8. Web前端-Vue.js必备框架(五)

    Web前端-Vue.js必备框架(五) 页面组件,商品列表组件,详情组件,购物车清单组件,结算页组件,订单详情组件,订单列表组件. vue-router 路由 vuex 组件集中管理 webpack ...

  9. Web前端-Vue.js必备框架(四)

    Web前端-Vue.js必备框架(四) 计算属性: <div id="aaa"> {{ message.split('').reverse().join('') }} ...

随机推荐

  1. CSS3D 转换调试

    css3d 测试工具 效果如图: 代码如下: <!DOCTYPE html> <html lang="zh-CN"> <head> <me ...

  2. chrome谷歌开发者工具(hover时候的css样式怎么在浏览器调试)

    很多小伙伴在开发的时候,大多是在用谷歌开发者工具调试代码(快捷键F12 或 Ctrl-Shift-i). 可能会经常遇到需要调试hover样式的时候,一般都是直接改代码,然后在页面上刷新查看效果. 其 ...

  3. .net core下简单构建高可用服务集群

    一说到集群服务相信对普通开发者来说肯定想到很复杂的事情,如zeekeeper ,反向代理服务网关等一系列的搭建和配置等等:总得来说需要有一定经验和规划的团队才能应用起来.在这文章里你能看到在.net ...

  4. 阿里云Ubuntu下安装、配置权限和导入本地mongodb

    ---恢复内容开始--- 第一部分:首先先在Ubuntu下安装好mongodb,步骤如下: 首先我们需要借助远程管理工具链接到阿里云上的ubuntu系统,接着进行如下操作 一.导出软件源的公钥 sud ...

  5. docker-compose-volumes的说明

    docker-compose里两种设置方式都是可以持久化的 绝对路径的 ghost: image: ghost volumes: - ./ghost/config.js:/var/lib/ghost/ ...

  6. Unity 虚拟摇杆的实现

    一般地,虚拟摇杆是放在UI层的. 所以先在Canvas建立一个空对象(这里被命名成MoveController),再在空对象里面放一个作为摇杆图片的Image. 然后通过覆盖重写UnityEngine ...

  7. Tensorflow之基于LSTM神经网络写唐诗

    最近看了不少关于写诗的博客,在前人的基础上做了一些小的改动,因比较喜欢一次输入很长的开头句,所以让机器人输出压缩为一个开头字生成两个诗句,写五言和七言诗,当然如果你想写更长的诗句是可以继续改动的. 在 ...

  8. 如何在linux下使用git管理上传代码&误删文件修复

    首先需要安装git,sudo apt-get install git,这时就可以下载代码了. 然后先在gituhub上新建一个仓库,然后先在本地建一个git目录,git init 然后再配置用户名和邮 ...

  9. 盘点 Python 中的那些冷知识(一)

    小明在日常Code中遇到一些好玩,冷门的事情,通常都会记录下来. 现在已经积攒了一些了,最近打算整理一波,发出来给大家补补.一篇只分享五个,有时间了就整理.不想错过的,千万记得关注一下. 1. 省略号 ...

  10. 前端知识复习:Html DIV 图文混排(文字放在图片下边)

    Html知识复习之图文混排 练习练习基础 先上效果图: 废话不多说,直接贴代码: <!DOCTYPE html> <html xmlns="http://www.w3.or ...