javaScript学习总结上

基本概念

javaScript是一门解释型语言,浏览器充当解释器。js执行时,在同一个作用域是先解释再执行。解释的时候会编译functionvar这两个关键词定义的变量,编译完成后从上往下执行并向变量赋值。ECMASCript中的一切(包括变量、函数名、操作符)都区分大小写。

变量

变量在第一次用到的时候就设置在内存中,使用变量之前先进行声明。可以使用var关键字来进行变量的声明。
变量命名:变量名包括全局变量,局部变量,类变量,函数参数等等都属于这一类。
变量命名都以类型前缀+有意义的单词组成,可以用驼峰命名法增强变量的可读性。
前缀规范:

s:表示字符串
n:表示数字
a:表示数组
r:表示正则表达
f:表示函数
g:表示全局变量

创建合法的变量名应该遵循的规则:
第一个字符不能是数字,后面可以跟任意的数字,字母,下划线。

javascript会忽略多余的空格,变量之间用逗号隔开。如果声明了一个变量但没有赋值,该变量存在值为undefined

js的数据类型

基本数据类型:字符型、数值、布尔
引用数据类型:对象、数组
特殊数据类型:Null、Undefined

对象

Object类型是一个无序的集合,可以存放任意类型的对象,所有其他对象都继承这个对象,创建Object类型有两种,一种是使用new运算符,一种是字面量表示法。var obj = new Object();

Object.prototype对象所有构造函数都有一个`prototype`属性,指向一个原型对象。实例obj继承object.prototype的属性和方法
1.对象是一种特殊的数据,拥有属性和方法,`javascript`基于[prototype]
2.对象是方法和属性的集合
3.函数时一种特殊的对象
面向对象三大特征:封装、继承、多态

数组

Array对象:提供对创建任何数据类型和数组的支持
Array数组的3个属性:length、prototype、constructor
Array对象方法:
concat()、join()、pop()、push、slice()、sort()、splice()、toString()...

Null和Undefined

null表示尚未存在的对象,常用来表示函数企图返回一个不存在的悐
undefined:对象属性不存在,声明了变量未赋值

BOM和DOM

DOM(文档对象模型)是HTM和XML应用程序的接口(API) DOM代表着被加载到浏览器窗口里的当前网页的模型
BOM用来处理浏览器窗口和框架。

区别:DOM描述了处理网页的方法和接口,BOM描述了与浏览器进行交互的方法和接口
HTML将代码分解为DOM节点层次图:

clipboard.png

查找元素:W3C提供了比较方便的定位节点的属性和方法

getElementById()获取特定的id元素节点
getElementsByTagName()获取相同元素的节点列表
getElementsByName()获取相同名称的节点列表
getAttribute()获取特定元素节点属性的值
setAttribute()设置特定元素节点属性的值
removeAttribute()移除特定元素节点属性

元素节点属性:

nodeName返回一个字符串,内容是节点的名字
nodeType返回一个整数,给定节点类型
nodeValue返回节点的当前值

DOM操作

creatElement(element)创建一个新的元素节点
creatTextNode()创建一个包含给定文本的新文本节点
appendChild()指定节点的最后一个节点列表后添加一个新的子节
insertBefore()将一个给定节点插入到一个给定元素节点的给定子节点的前面
removeChild()从一个给定元素中删除子节点
replaceChild()把一个给定父元素里的一个子节点替换为另外一个节点

DOM通过创建树来表示文档,描述了处理网页内容的方法和接口,从而使开发者对文档的内容和结构具有空前的控制力,用DOM API可以轻松地删除、添加和替换节点。

DOM 0级事件处理程序:把一个函数赋值给一个事件的处理程序属性
innerText、innerHTML、outerHTML、outerText

clipboard.png

DOM 2级事件处理程序:定义了两个方法,用于指定和删除事件处理程序的操作。`addEventListener()`和`removeEventListener()`

BOM部分

window对象
clipboard.png

document对象:实际上是window对象的属性,document == window.document为true,是唯一一个既属于BOM又属于DOM的对象

document.lastModified  //获取最后一次修改页面的日期的字符串表示  

document.referrer  //用于跟踪用户从哪里链接过来的  

document.title  //获取当前页面的标题,可读写  

document.URL  //获取当前页面的URL,可读写  

document.anchors[0]或document.anchors["anchName"] //访问页面中所有的锚  

document.forms[0]或document.forms["formName"]  //访问页面中所有的表单  

document.images[0]或document.images["imgName"]  // 访问页面中所有的图像  

document.links [0]或document.links["linkName"]  //访问页面中所有的链接 

document.applets [0]或document.applets["appletName"]  //访问页面中所有的Applet  

document.embeds [0]或document.embeds["embedName"]  //访问页面中所有的嵌入式对象  

document.write(); 或document.writeln();  //将字符串插入到调用它们的位置  

还有location对象.navigator对象.screen对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值