undefined 未定义,所有js变量未赋予初始值的时候,默认都是undefined
null 空值
NaN Not a Number
等于 == 简单的字面值的比较,不区分变量的数据类型
全等于 === 除了字面值的比较,还会比较两个变量的数据类型
逻辑运算:
- 短路:当&&或||运算有了结果后,后面的表达式不再执行
- &&
- 且运算
- 当表达式全为真的时候,返回最后一个表达式的值
- 只要有一个表达式为假,返回第一个为假的表达式的值(短路)
- ||
- 或运算
- 当表达式全为假的时候,返回最后一个表达式的值
- 只要有一个表达式为真,返回第一个为真的表达式的值(短路)
定义一个空数组:var arr = [];
数组会自动扩容
函数定义的两种方式
- function 函数名(参数列表) {函数体}
- var 函数名 = function (参数列表) {函数体}
JavaScript里的函数没有重载,会被覆盖掉
隐形参数arguments(只在function函数内):在function函数内不需要定义,却可以直接获取所有参数
function add(a, b) { for(var i = 0; i<arguments.length; i++){ var result = 0; result += arguments[i] + result; return result; } add(1,2, 5, 8, 4, 10);
对象的定义
1、Object形式自定义对象
var 变量名 = new Object() //这是一个对象实例(空对象) 变量名.属性名 = 值; //定义一个属性 变量名.函数名 = function () {} //定义一个函数
2、花括号形式自定义对象
var 变量名 = { 属性名: 值, //定义一个属性 函数名: function() {} //定义一个函数 }
常用的事件
- onload:加载完成事件,常用于页面加载完成之后,做页面js代码初始化操作
- onclick:单击事件,常用于按钮的点击响应事件
- onblur:失去焦点事件,常用于输入框失去焦点后验证其输入内容是否合法
- onchange:内容发生改变事件,常用于下拉列表和输入框内容发生改变后的操作
- onsubmit:表单提交事件,常用于表单提交前,验证所有表单项是否合法
事件的注册:告诉浏览器,当事件响应后要执行哪些操作代码,叫事件注册或事件绑定
1、静态注册事件:通过html标签的事件属性直接赋值于事件响应后的代码,
2、动态注册事件:先通过js代码得到标签的dom对象,然后再通过dom对象.事件名 = function() {}这种形式赋予事件响应后的代码
JavaScript事件对象
事件对象,是封装有触发的事件信息的一个JavaScript对象
在给元素绑定事件的时候,在事件的 function(event) 参数列表中添加一个参数,这个参数名,我们习惯取名为event。
原生js获取事件对象
window.onload = function() { document.getElementById("mytest").onclick = function(event) { console.log(event); } } <div id="mytest"></div>
jQuery代码获取事件对象
$(function() { $("#mytest").click(function(event) { console.log(event); }); }); <div id="mytest"></div>
document是JavaScript语言提供的一个对象,表示整个html页面所有的内容(一个html文档的所有代码内容)
window.onload = function() { //通过id属性获取标签对象(一个object对象) var btn = document.getElementById("btn"); btn.onclick = function () { alert("动态注册onclick"); } } <button id="btn">按钮</button>
console是控制台对象,由JavaScript语言提供,专门用来向浏览器的控制台打印输出,用于测试使用
DOM(Document Object Model):文档对象模型,把文档(html文档)中的标签、属性、文本,转化为对象来管理
Document对象:
- Document对象管理了所有的html文档内容
- 它把所有的标签都对象化
- 我们可以通过document访问所有的标签对象
document.getElementById(elementId):通过标签的id属性查找标签dom对象,elementId是标签的id属性值,只返回一个对象
document.getElementsByName(elementName):通过标签的name属性查找标签的dom对象,elementName是标签的name属性值,用于返回多个标签对象集合
document.getElementsByTagName(tagName):通过标签名查找标签的dom对象,tagName是标签名,返回指定标签名对象的集合
document.createElement(tagName):通过给定的标签名,创建一个标签对象,tagName是要创建的标签名
节点的常用属性和方法
- 属性
- childNodes:获取当前节点的所有子节点
- firstChild:获取当前节点的第一个子节点
- lastChild:获取当前节点的最后一个字节点
- parentNode:获取当前节点的父节点
- nextSibling:获取当前节点的下一个节点
- previousSibling:获取当前节点的上一个节点
- className:用于获取或设置标签的class属性值
- innerHTML:用于获取或设置起始标签和结束标签中的内容
- innerText:用于获取或设置起始标签和结束标签中的文本
- 方法
- getElementsByTagName() 通过具体的元素节点调用,获取当前节点指定标签名的孩子节点
- appendChild(oChildNode) 添加一个字节点,oChildNode是要添加的孩子节点
© 著作权归作者所有
发表评论