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. Chromium Graphics : GPU Accelerated Compositing in Chrome

    GPU Accelerated Compositing in Chrome Tom Wiltzius, Vangelis Kokkevis & the Chrome Graphics team ...

  2. caioj 1065 动态规划入门(一维一边推3:合唱队形)

    就是最长上升子序列,但是要用n^2的算法. #include<cstdio> #include<algorithm> #define REP(i, a, b) for(int ...

  3. ZOJ 2532 Internship

    Internship Time Limit: 5000ms Memory Limit: 32768KB This problem will be judged on ZJU. Original ID: ...

  4. Unity容器实现自动注册

    如何创建Unity容器? 首先NuGet搜索Unity, 该示例中使用的版本为4.0.1 新建控制台程序 示例中使用常规操作, 创建一个IPay接口, 分别有两个实现类: ApplePay.Huawe ...

  5. ecshop微信通中微信自动登录的设置方法

    ecshop微信通中微信自动登录的设置方法 来 源:共享世纪 作 者:网络 时间:2015-12-03 点击: 4017 注意:微信自动登录,必须同时满足两个条件: 第一.微信公众号必须是服务号经过认 ...

  6. 三种连接 & DOS & SYNFLOOD & 防御

    accept的时候,三次连接是建立的. 有一种DOS攻击是SYN FLOOD,就是大量的SYN到达,但是没有ACK,无法建立起连接. 防御的方法,有多种,如下: 比如,禁止部分源地址: 到达一定阈值之 ...

  7. 从零開始的Android新项目7 - Data Binding入门篇

    Data Binding自从去年的Google I/O公布到至今,也有近一年的时间了.这一年来,从Beta到如今比較完好的版本号.从Android Studio 1.3到如今2.1.2的支持,能够说D ...

  8. hdu4565---So Easy!(矩阵)

    Problem Description A sequence Sn is defined as: Where a, b, n, m are positive integers.┌x┐is the ce ...

  9. linearlayout-weight 属性作用

    今天用到了weight的属性,现在就把这个属性的具体意义记录一下.也是参考网上的讲解,只不过自己验证了一下而已 参考自 http://blog.csdn.net/jincf2011/article/d ...

  10. 3.索引与string进行映射实现高效查找

    #include <iostream> #include <typeindex>//类型索引 #include <unordered_map>//红黑树 #incl ...