js
- 你可以在 HTML 文档中放入不限数量的脚本。
- 脚本可位于 HTML 的 <body> 或 <head> 部分中,或者同时存在于两个部分中。
- 通常的做法是把函数放入 <head> 部分中,或者放在页面底部。这样就可以把它们安置到同一处位置,不会干扰页面的内容。
- 有的节点操作可能需要整个页面加载完成才能执行,所以将js代码放在页面底部
- js代码要写在<script></script>标签对之间
- 外部引入js时<script src=‘myScript.js’></script>
- js输出
- windows.alert()弹出警告框
- document.write()方法将内容写到HTML文档中
- innerHTML写入到HTML元素
- document.getElementById("demo").innerHTML = "段落已修改。";
- console.log()写入到浏览器控制台
- js变量
- js中使用var声明变量
- var x=5;
- 数组
- [1,2,3,4]
- 对象
- {“a”:”11”,”b”,”22”}
- js中使用var声明变量
- Js折行
- 使用’’\’’进行换行
- js数据类型
- 字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)。
- 需要注意的是undefined是指不含有值
- 使用null,undefined都可以清空变量,需要注意的是null和undefined值相等,但是类型不同,’==’但不’===’
- 使用new 声明变量例如 var a= new String;
- Js函数
- 函数声明 function functionname(){/*执行代码*/}
- js作用域
- 在函数内部没有使用var声明的变量都是全局变量
- 生命周期
- 局部变量在函数执行完之后销毁
- 全局变量在页面关闭之后销毁
- js中检测变量类型使用typeof varname,变量长度varname.length
- js条件运算符 variablename=(condition)?value1:value2
- 遍历对象
- for(x in objname){}
- 正则表达式
- exec()
- test()
- replace()
- search()
- Js设置断点 debugger;s
- js严格模式,在脚本或函数头部添加“use strict”;表达式来声明
- js中浮点数的精确度很难确定,举例来说
- var x=0.1,y=0.2;if((x+y)==0.3);//返回的是false,使用乘除法解决这些问题
- 在js中定义对象时,最后不能添加逗号,这点与python中有区别
- 在 JavaScript 中, null 用于对象, undefined 用于变量,属性和方法
- 对象只有被定义才有可能为 null,否则为 undefined
- js与json
- 将json数据转换为js对象 JSON.parse()
- 将js转换为JSON字符串 JSON.stringify()
- Javascript:void(0)可以用来定义死链接
- <a href=“javascript:void(0);">点我没有反应的!</a>
- 命名规则
- 变量和函数为小驼峰法标识, 即除第一个单词之外,其他单词首字母大写( lowerCamelCase)
- 全局变量为大写 (UPPERCASE )
- 常量 (如 PI) 为大写 (UPPERCASE )
- 在js中有种函数叫自调用函数
- 就是在函数表达式后面加一个()表示他是一个函数表达式
- js DOM
- 查找html元素
- Document.getElementById(‘main’),id在一个html文档中时唯一的所以可以准确定位一个标签
- document.getElementByClassName(‘intro’),返回的是一个数组
- document.getElementBytagName(‘p’),返回的也是一个数组
- 改变html
- 改变HTML内容 document.getElementById(id).innerHTML=新的 HTML
- 改变HTML属性 document.getElementById(id).attribute=新属性值
- 改变html样式 document.getElementById(id).style.property=新样式
- 可以在js中对html标签添加事件<script> document.getElementById("myBtn").onclick=function(){displayDate()}; </script>
- DOM中事件监听EventListerner
- 语法 element.addEventListener(event, function, useCapture);
- 第一个参数是事件的类型 (如 "click" 或 “mousedown”)
- 第二个参数是事件触发后调用的函数
- 第三个参数是个布尔值用于描述事件是冒泡还是捕获。该参数是可选的
- 事件冒泡与事件捕获?假如<p>嵌入在<div>中
- 冒泡,是内部元素<p>的事件先被触发
- 捕获,外部元素<div>的事件会先被触发
- 注意:不要使用 "on" 前缀。 例如,使用 "click" ,而不是使用 “onclick"
- element.removeEventListener("mousemove", myFunction);移除由addEventListener()方法添加的事件句柄
- 语法 element.addEventListener(event, function, useCapture);
- 查找html元素
- js BOM
- 计时事件
- setTimeout(functionname(),毫秒时间戳) 延时器,指定时间后执行函数,只执行一次
- setInterval(functionname(),毫秒时间戳)定时器,间隔指定事件执行一次函数,一直执行
- 读取cookie
- var x = document.cookie;
- 并且可以通过修改document.cookie来修改cookie值
- 删除cookie 只需将cookie中的expires参数值设置为以前事件即可
- 计时事件