051、如何打印当前浏览器的版本等信息
 
navigator.userAgent
 
返回包含浏览器版本等信息的字符串 ,常用于判断浏览器版本及使用设备(PC或者移动端
 
052 、在浏览器地址栏输入www.baidu.com后按下回车键会发生什么
 
1.域名解析
      把域名解析ip地址   DNS域名解析系统
 
    2.把ip发送到网络供应商  去找那个对应的主机服务器
 
    3.TCP的三次握手 建立连接
 
    4.开始发送请求 取回入口文件index.html
 
    5.开始解析入口文件,并且取回需要的资源sources
 
    6.进行
 
053、window.onload与window.onscroll的区别
 
window.onload:当页面加载完成的时候
 
window.onscroll:当页面滚动的时候
 
054、请简述下关于DOM的增、删、查
 
增---------createElement
var oDiv = document.createElement('div');
document.body.appendChild(oDiv);//只有追加后,页面上才会出现
 
2、删---------removeChild
语法:fatherObj.removeChild(childrenObj)
 
参数解释:
a、fatherObj:要删除子元素的元素对象
b、childrenObj:要被删除的子元素对象
 
3、查---------六种
document.getElementById('');常用
 
document.getElementsByClassName('');(ie9+)常用
 
document.getElementsByTagName('');常用
 
document.getElementsByName('');不常用
 
document.querySelector(选择器)(IE8+)(IE8+)
     根据选择器返回匹配到的第一个元素
 
document.querySelectorAll(选择器);(IE8+)常用
     根据选择器返回匹配到的所有的元素
 
055、请简述下关于Dom节点的分类
 
childNodes:获取所有节点 包括文本节点
 
节点分为3种类型:
 
1、元素节点 <span></span>
 
2、文本节点 <span>xxx</span>
 
3、属性节点 <span id ='xxx'></span>
 
可以通过nodeType这个属性查看节点的类型
nodeType == 1 元素
 
nodeType == 2 属性
 
nodeType == 3 文本节点
 
056、获取非行间样式
 
function getStyle(obj,attr){
     if(obj.currentStyle){
          return obj.currentStyle[attr];
     }else{
         return getComputedStyle(obj,false)[attr]; 
     }
}
 
057、如何获取、设置、删除自定义属性
 
 
 元素.getAttribute(属性名);
 
 元素.setAttribute(属性名,属性值);
 
元素.removeAttribute(属性名);
 
058、innerHTML、innerText和outerHTML、outerText的区别(了解一下 背会就行不需要抄写)
 
- innerHTML 设置或获取位于对象起始和结束标签内的 HTML
 
- outerHTML 设置或获取对象及其内容的 HTML 形式
 
- innerText 设置或获取位于对象起始和结束标签内的文本
 
- outerText 设置(包括标签)或获取(不包括标签)对象的文本
 
innerText和outerText在获取时是相同效果,但在设置时,innerText仅设置标签内的文本,而outerText设置包括标签在内的文本。
 
不同之处:
   简单的说innerHTML和outerHTML、innerText与outerText的不同之处在于:
  1)、innerHTML与outerHTML在设置对象的内容时包含的HTML会被解析,而innerText与outerText则不会。
  2)、在设置时,innerHTML与innerText仅设置标签内的文本,而outerHTML与outerText设置包括标签在内的文本。
   3)、outhtml innerText(非W3C)
 
059、如何进行DOM节点筛选
 
1、可以通过nodeType
1 代表元素节点   2 代表属性节点 3 代表文本节点
 
function getNode(ele){
     var aNode = ele.childNodes;
     var newArr = [];
     for(var i=0;i<aNode.length;i++){
          if(aNode[i].nodeType == 1){
              newArr.push(aNode[i]) 
          }
     }
     return newArr;
}
 
 
060、 childNodes与children、attributes 的区别
 
如果想获取到子元素的element节点,最好使用children方法,childNodes方法以及firstChild方法在现代浏览器中使用,都会把元素标签中的空白节点检测出来,一般我们使用这两个方法都是为了获取到元素的元素节点,空白节点会给我们造成很多不必要的bug,而children方法则是只检测element元素节点
 
attributes:获取当前元素节点的所有属性节点集合

原生js大总结六的更多相关文章

  1. 原生js大总结九

    81.ES6的Symbol的作用是什么?   ES6引入了一种新的原始数据类型Symbol,表示独一无二的值   82.ES6中字符串和数组新增了那些方法   字符串       1.字符串模板    ...

  2. 原生js大总结十

    91.ajax的优点     a.提高运行效率   b.提高用户体验,让多件事情同时发生   c.在不刷新页面的情况下可以对局部数据进行加载和刷新       92.ajax请求的流程   1.创建通 ...

  3. 原生js大总结二

    011.if语句的优化   1.把次数多的条件和执行结果放到最前面   2.减少第一次无用的判断,可以用嵌套判断   3.判断语句禁止出现三次嵌套     012.谈谈你对switch的理解   1. ...

  4. 原生js大总结十一

    101.请简述prototype.__proto__ constructor三者的关系   1.prototype:     每一个函数都有一个prototype这个属性,而这个属性指向一个对象,这个 ...

  5. 原生js大总结八

    071.如何组织事件冒泡   利用事件对象属性:stopPropagation 和 cancelBubble   stopPropagetion是一个方法:e.stopPropagetion();   ...

  6. 原生js大总结七

    061.如何获取父级节点.上一个子级节点.下一个子级节点    nextElementSibling  后一个兄弟元素  (如果没有是null)    previousElementSibling   ...

  7. 原生js大总结四

    031.数组常用的一些方法   1.push: 在数组最后添加一个或者多个元素,返回添加后数组的长度   2.pop: 从数组最后取出一个元素,返回的是数组的最后一个元素(取出的元素)   3.uns ...

  8. 原生js大总结五

    041.在js中如何用方法将10进制的字符转换成16进制和8进制   数字.toString(16) 数字.toString(8)     042.如何创建时间对象   new Date()   04 ...

  9. 原生js大总结三

    021.定义函数的几种方式   1.关键字函数:function fnName(){};   2.字面量函数:var fn = function(){};   3.构造函数:var fn = new ...

随机推荐

  1. 2018 NOIP备战计划

    2018 NOIP目标 (1)刷完紫书数论习题 (2)听51nod讲座和习题,根据其知识结构来备战. (3)刷完紫书动规 (4)初赛前两个星期左右开始复习 刷紫书动规的时候感觉偏难,进步缓慢.应该自己 ...

  2. MySQL事务(event scheduler)的学习【事务创建之后,没有运行的问题】

    [本篇文章主要解决的是,MySQL事务创建之后,没有运行的问题] 首先从这里开始:http://www.w3schools.in/mysql/event-schedule/,创建了基本的MySQL事务 ...

  3. 洛谷 P2913 [USACO08OCT]车轮旋转Wheel Rotation

    P2913 [USACO08OCT]车轮旋转Wheel Rotation 题目描述 Farmer John has an old-time thresher (wheat harvester) tha ...

  4. CF(438D) The Child and Sequence(线段树)

    题意:对数列有三种操作: Print operation l, r. Picks should write down the value of . Modulo operation l, r, x. ...

  5. 新浪新闻按keyword抓取实例

    import urllib2 import requests #import MySQLdb import webbrowser import string import re from Beauti ...

  6. Intel TBB in OpenCASCADE

    Intel TBB in OpenCASCADE eryar@163.com OpenCASCADE使用了一个开源的第三方库Intel TBB,这个并行计算库主要用于网格化.布尔操作等复杂算法,可以明 ...

  7. es68对象的解构赋值

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. vue --- 全局守卫

    vue2.0 实现导航守卫(路由守卫) 路由跳转前做一些验证,比如登录验证,是网站中的普遍需求. 对此,vue-route 提供的 beforeRouteUpdate 可以方便地实现导航守卫(navi ...

  9. 分享一个vue常用的ui控件

      vue学习文档 http://www.jianshu.com/p/8a272fc4e8e8 vux github ui demo:https://github.com/airyland/vux M ...

  10. 手机端使用rem的适配

    <html> <body> <!-- http://www.w3cfuns.com/notes/29143/79dafb7c07f6865f435af641869d312 ...