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. 原型,构造函数,实例,__proto__

    再说说__proto__,这个孩子性格慢向,所以即使在现代浏览器广为支持得今天也不建议使用,性能特别慢,而且影响所有来自该[[prototype]]的对象.只是拿出来了解了解: 1.它是个啥? 原型对 ...

  2. 记一次 Apache HUE 优化之因使用 Python 魔术方法而遇到的坑

    最近的工作是基于 Apache HUE 做二次开发.刚接手 HUE 的代码的时候,内心是崩溃的:开源的代码,风格很多种, 代码比较杂乱; 虽是基于 Django 开发的,但是项目的结构改变很大; 很多 ...

  3. 【VC++学习笔记四】MFC应用程序中框架类的获取

    一.文档类中 获取视图: 先获取主窗体,在根据主窗体获取视图 pMain->GetActiveDocument();注意类型转换 由于文档中可能包含多个视图,可以按照下面函数获取: CView* ...

  4. Vim操作的四种模式

    Vim的四种模式一.启动Vim1.双击桌面的图标,就可以启动Vim(是图形界面的)2.在开始菜单---点--运行 接着输入 vim 或者gvim,就可以启动Vim或Gvim了.二.Vim的模式1.Vi ...

  5. sublime 支持 vue 语法

    具体步骤如下: 1.如果你没安装Package Control,请先安装,安装方法请自行百度.安装OK后,接下来步骤请参考第2步即可. 2.如果你已经安装过Package Control,安装vue高 ...

  6. 洛谷P2192 HXY玩卡片

    题目描述 HXY得到了一些卡片,这些卡片上标有数字0或5.现在她可以选择其中一些卡片排成一列,使得排出的一列数字组成的数最大,且满足被90整除这个条件.同时这个数不能含有前导0,即0不能作为这串数的首 ...

  7. 轻松八步搞定Cacti配置安装(原创视频)

    轻松八步搞定Cacti配置安装 1.安装web server $sudo apt-get install apache2 验证 http://localhost 2.$sudo apt-get ins ...

  8. Sparse Autoencoder(二)

    Gradient checking and advanced optimization In this section, we describe a method for numerically ch ...

  9. JS面向对象系列教程 — 对象的基本操作

    面向对象概述  面向对象(Object Oriented)简称OO,它是一种编程思维,用于指导我们如何应对各种复杂的开发场景. 这里说的对象(Object),意思就是事物,在面向对象的思维中,它将一 ...

  10. python3 import Crypto 失败的解决办法 (AES对称加密使用 模块)

    # 先导入所需要的包 pip3 install Crypto # 再安装pycrypto pip3 install pycrypto from Crypto.Cipher import AES # 就 ...