为了面试自己写的概要,参考文献:《javascript高级程序设计》

1、选择符API
*querySelector()
querySelector()接收一个css选择符,返回与选择符匹配的第一个元素,如果没有就返回null。
当用document调用它的时候,在所有的document元素中查找,
如果用元素调用这个方法,就会在元素所有后代元素中查找。
若果匹配到不合法的css选择符,就是报错。
*querySelectorAll()
querySelector()接收一个css选择符,与querySelectorAll()一样,它返回的是一个满足css选择符的NodeList,
同样,也可以用document和元素调用它,如果没有找到匹配的选择符,则返回一个空的NodeLIst,如果
css选择符不合法,则会抛出错误。
*matchesSelector()
matchesSelector()方法接收一个css选择符,它可以返回调用元素是否与该选择符匹配,所以
它的返回值是布尔类型,如果可以匹配则返回true,若果不匹配则返回false。
matchesSelector()一般可以用来检查所选元素能不能被querySelector()和querySelectorAll()返回,
但浏览器并不能很好的支持matchesSelector,IE9+可以支持msMatchesSelector(),
Firefox3.6+可以支持mozMatchesSelector,Chrome支持webkitMatchesSelector(),所以需要自己封装一个方法:

function matchesSelector(element,selector){
if(element.matchesSelector){
return element.matchesSelector(selector);
}else if(element.msMatchesSelector){
return element.msMatchesSelector(selector);
}else if(element.mozMatchesSelector){
return element.mozMatchesSelector(selector);
}else if(element.webkitMatchesSelector){
return element.webkitMatchesSelector(selector);
}else{
throw new Error("浏览器不支持");
}
}

2、javaScript中的节点属性
*节点属性:
nodeType 每个节点都有,返回值分别为1~12的的整数,代表不同的节点类型
parentNode 指向每个节点的父节点,只有一个。
childNodes 返回一个元素的所有子节点。
previousSibling 返回当前节点的上一个兄弟节点,如果当前节点是childNodes中的第一个节点,则返回null。
nextSibling 返回当前节点的下一个兄弟节点,如果当前节点是childNodes中的最后一个节点,则返回null。
*操作节点:
appendChild() 插入节点,并且被插入的节点作为父节点的最后一个子节点。即被插入节点的nextSibling为nulll;
insertBefore() 插入节点,但是insertBefore("","")接收两个参数,第一个参数是被插入的节点,第二个参数是参照节点,
执行完insertBefore后,被插入的节点将会作为参照的节点的上一个兄弟节点被插入(即previousSibling),
第二个参数也可以是null,这样就达到了和appendChild()相同的效果。
replaceChild() 替换节点,replaceChild()接收两个参数,第一个参数为要插入的节点,第二个参数为要替换的节点,
被替换的节点仍然存在于文档中,但却失去了在文档中的位置。
removeChild() 移除节点,removeChild()接收一个参数,就是被移除的节点,该方法的返回值为被移除的节点。被移除的节点
仍然存在于文档中,但是却失去了在文档中的位置。
*document节点
document存在的属性:
document.URL 取得当前页面完整的URL
document.domain 取得当前页面的域名
document.referrer 取得当前页面的来源页面地址,如果没有返回空字符串

3、HTML5中的自定义数据属性
HTML5中规定为元素添加非标准的属性时要加上前缀data-,目的是为元素提供与渲染无关的信息,或单纯是为了语义信息,可以随便添加
只要以data-开头即可。然后可以通过dataset来访问响应的值,并且用dataset取值的时候属性名没有了data-前缀,如果属性为data-myname
则只需要用 Selector.dataset.myname即可。

4、HTML5中插入标记的三种方式
*innerHTML
在读的模式下,innerHTML会返回调用它的元素的所有子节点的HTML代码。
在写的模式下,innerHTML接收一段html代码作为参数,会根据制定的参数创建新的DOM树,然后用新的DOM树替换原来的DOM树。
*outerHTMl
在读得模式下,outerHTML会返回包括调用它的元素和所有子节点的全部HTML标记。
在写的模式下,相当于根据参数创建新的DOM树,然后替换包括调用该方法在内的DOM树。
转换为代码就是:
div.outerHTML("<p>this is text</p>");
var p = document.createElement('p');
p.append(document.createTextNode('this is text'));
div.parentNode.replace(p,div);
*insertAdjacentHTML()方法
接收两个参数,第一个参数是要插入的位置,第二个参数是要插入的元素。
第一个参数为beforebegin,表示在当前元素前插入一个同辈元素。
第一个参数为afterbegin,

自己总结的javascript基础知识的更多相关文章

  1. Javascript基础知识总结一

    Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...

  2. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  3. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  4. JavaScript 基础知识 - BOM篇

    前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...

  5. (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识

    开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...

  6. JavaScript基础知识整理

    只整理基础知识中关键技术,旨在系统性的学习和备忘. 1.在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN ...

  7. Jquery源码中的Javascript基础知识(三)

    这篇主要说一下在源码中jquery对象是怎样设计实现的,下面是相关代码的简化版本: (function( window, undefined ) { // code 定义变量 jQuery = fun ...

  8. JavaScript基础知识从浅入深理解(一)

    JavaScript的简介 javascript是一门动态弱类型的解释型编程语言,增强页面动态效果,实现页面与用户之间的实时动态的交互. javascript是由三部分组成:ECMAScript.DO ...

  9. JavaScript基础知识必知!!!

    JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型. JS作用:表单验证,减轻服务端的压力:添加页面动画效果:动态更改页面内容:Ajax网络请求. 下面简单介 ...

  10. javascript基础知识笔记-自用

    笔记内容根据个人基础知识不足不明白之处做的记录.主要看的:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript 1.变量,变量的名字又叫标识符 ...

随机推荐

  1. 自用广告过滤规则,整合xwhyc大大的,非常小才79K

    xwhyc大大 好久没更新了,自己弄了一点 更新: $third-party选项过滤多个站点的第三方广告:dy1000.com.yatu.tv,greasyfork.org 主流视频站点,请配合我的脚 ...

  2. 在windows上搭建C语言开发环境——借助eclipse和MinGW

    0. 前言     [本文目的]     近期在电脑上又一次安装了MinGW,发现MinGW的安装方法和之前的方法稍有差别,全部再写了一篇博文记录一下具体的安装方法.     [本文主要内容]     ...

  3. coursera课程Text Retrieval and Search Engines之Week 3 Overview

    Week 3 OverviewHelp Center Week 3 On this page: Instructional Activities Time Goals and Objectives K ...

  4. OTL翻译(7) -- otl_exception类

    otl_exception 这个类是OTL用来抛出异常的类.如果数据库API返回一个非0的错误值,则OTL会将会抛出一个otl_exception的异常.一个otl_exception异常有可能是一个 ...

  5. MySQL语法大全

    select * from emp; #注释 #--------------------------- #----命令行连接MySql--------- #启动mysql服务器 net start m ...

  6. PHP 解决版本问题:"Assigning the return value of new by reference is deprecated"

    问题描述:     在最近使用ECSHOP v273帮客户建立了一个商城系统,商城搭建一切ok但在使用中后台发现了一个500错误     在服务器上访问该地址发现了错误信息:"Assigni ...

  7. (转)[Unity3D]UI方案及制作细节(NGUI/EZGUI/原生UI系统) 内附unused-assets清除实例

    转载请留下本文原始链接,谢谢.本文会不定期更新维护,最近更新于2013.09.17.   http://blog.sina.com.cn/s/blog_5b6cb9500101bplv.html   ...

  8. 解决Sublime包管理package control 报错 There are no packages available for installation

    解决Sublime包管理package control 报错 There are no packages available for installation 真的是哔了狗了,要不是我机智的重新安装了 ...

  9. idea 设置代码的颜色

  10. 直接修改class文件内容即使是文本会导致App异常,正确方式是修改java再用生成的class替换掉原有的class

    前几天来了个小任务,把某项目中某人的邮件地址改了下. 由于对项目不熟悉,于是采用find方式找出app中所有包含某人邮件地址的文件都找出来了. xml,properties大约三四个,还有两个clas ...