1.javascript的typeof返回哪些数据类型
    Object、number、 function、 boolean、 underfind

2.例举3种强制类型转换和2种隐式类型转换?
    强制(parseInt,parseFloat,number)
    隐式(== – ===)

3.split() join() 的区别
    split()方法:用于把一个字符串分割成字符串数组.
    join() 方法用于把数组中的所有元素放入一个字符串。
   (总结:前者是切割成数组的形式,后者是将数组转换成字符串);

4.数组方法pop() push() unshift() shift()
    Push()尾部添加; pop()尾部删除;
    Unshift()头部添加; shift()头部删除;

5.事件绑定和普通事件有什么区别?
   事件绑定就是针对dom元素的事件,绑定在dom元素上
   普通事件即为非针对dom元素的事件;
  例如:
  普通事件
    var btn = document.getElementById("hello");
    btn.onclick = function(){
         alert(1);
    };
    btn.onclick = function(){
         alert(2);
    }; //这个事件只会弹出2;

事件绑定
   var btn = document.getElementById("hello");
   btn.addEventListener("click",function(){
       alert(1);
   },false);
   btn.addEventListener("click",function(){
       alert(2);
   },false); //这个事件首先会弹出1,然后在弹出2;

6.IE和DOM事件流的区别?
   1.执行顺序不一样;
   2.参数不一样;
   3.事件加不加on;
   4.this指向问题;

7.IE和标准下有哪些兼容性的写法
   var ev = ev || window.event
   document.documentElement.clientWidth || document.body.clientWidth
   var target = ev.srcElement||ev.target

8.ajax请求的时候get 和post方式的区别?
   1、get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到;
        post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程;
   2、Get请求有如下特性:它会将数据添加到URL中,通过这种方式传递到服务器,通常利用一个问号?代表URL地址的结尾与数据参数的开端,后面的参数每一个数据参数以“名         称=值”的形式出现,参数与参数之间利用一个连接符&来区分。

Post请求有如下特性:数据是放在HTTP主体中的,其组织方式不只一种,有&连接方式,也有分割符方式,可隐藏参数,传递大批数据,比较方便。
   3、get传送的数据量较小,不能大于2KB;
        post传送的数据量较大,一般被默认为不受限制。但理论上,因服务器的不同而异.
   4、get安全性非常低,post安全性较高;
  (总结:
       一个在url后面 一个放在虚拟载体里面
      有大小限制
      安全问题
      应用不同 一个是论坛等只需要请求的,一个是类似修改密码的)

9.call和apply的区别?
     相同点:两个方法产生的作用是完全一样的
     不同点:方法传递的参数不同
     Object.call(this,obj1,obj2,obj3)调用一个对象的一个方法,以另一个对象替换当前对象
     Object.apply(this,arguments)应用某一对象的一个方法,用另一个对象替换当前对象。

10.ajax请求时,如何解释json数据?
    使用eval parse 鉴于安全性考虑 使用parse更靠谱

11.b继承a的方法?
    b.prototype=new a;

12.写一个获取非行间样式的函数

function getStyle(obj,attr,value){

if(!value){

if(obj.currentStyle){

return obj.currentStyle(attr)

}else{

obj.getComputedStyle(attr,false)

}

}else{

obj.style[attr]=value
}
}

13.事件委托是什么?
     让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!
     事件委托就是事件目标自身不处理事件,而是把处理任务委托给其父元素或者祖先元素,甚至根元素(document);
     jQuery为绑定和委托事件提供了.bind()、.live()和.delegate()方法;
     http://www.tuicool.com/articles/zQVvau 例子可见此链接

14.闭包是什么,有什么特性,对页面有什么影响?
     闭包就是能够读取其他函数内部变量的函数。
     http://blog.csdn.net/gaoshanwudi/article/details/7355794 此链接可查看(问这个问题的不是一个公司)

15.如何阻止事件冒泡和默认事件?
     canceBubble return false
     查看 http://www.2cto.com/kf/201412/359961.html 案例

16.添加 删除 替换 插入到某个接点的方法?
     obj.appendChidl()
     obj.innersetBefore
     obj.replaceChild
     obj.removeChild

17.解释jsonp的原理,以及为什么不是真正的ajax?
    动态创建script标签,回调函数
    Ajax是页面无刷新请求数据操作

18.javascript的本地对象,内置对象和宿主对象?
   本地对象为array obj regexp等可以new实例化
   内置对象为gload Math 等不可以实例化的
   宿主为浏览器自带的document,window 等

19.document load 和document ready的区别?
   Document.onload 是在结构和样式加载完才执行js
   Document.ready原生种没有这个方法,jquery中有 $().ready(function)

20.”==”和“===”的不同?
   前者会自动转换类型
   后者不会

21.javascript的同源策略?
   一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合

22.编写一个数组去重的方法。
function oSort(arr)
{
var result ={};
var newArr=[];
for(var i=0;i<arr.length;i++)
{
if(!result[arr])
{
newArr.push(arr)
result[arr]=1
}
}
return newArr
}

javaScript的几个问题简答的更多相关文章

  1. linux系统运维面试题简答

    1.     简述常用高可用技术 解答: Keepalived:Keepalived是一个保证集群高可用的服务软件,用来防止单点故障,使用VRRP协议实现.在master和backup之间通过mast ...

  2. 安装python包时遇到"error: Microsoft Visual C++ 9.0 is required"的简答

    简答 在Windows下用pip安装Scrapy报如下错误, error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall ...

  3. 【Python】安装python包时遇到"error: Microsoft Visual C++ 9.0 is required"的简答

    简答 在Windows下用pip安装Scrapy报如下错误, error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall ...

  4. mybatis返回list很智能很简答的,只需要配置resultmap进行类型转换,你dao方法直接写返回值list<对应的object>就行了啊

    mybatis返回list很智能很简答的,只需要配置resultmap进行类型转换,你dao方法直接写返回值list<对应的object>就行了啊 dao方法 public List< ...

  5. Java 实现简答的单链表的功能

    作者:林子木  博客网址:http://blog.csdn.net/wolinxuebin 參考网址:http://blog.csdn.net/sunsaigang/article/details/5 ...

  6. Docker理论简答

    Docker理论简答: 1.        介绍对docker的认识(10分) Docker是容器,容器不是docker Dockers就是一个文件夹,它欺骗操作系统说自己是一个操作系统,然后把所需要 ...

  7. 安装python包时遇到"error: Microsoft Visual C++ 9.0 is required"的简答(Python2.7)

    简答 在Windows下用pip安装Scrapy报如下错误, error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall ...

  8. 简答一波 HashMap 常见八股面试题 —— 算法系列(2)

    请点赞,你的点赞对我意义重大,满足下我的虚荣心. Hi,我是小彭.本文已收录到 GitHub · Android-NoteBook 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注 ...

  9. JavaScript学习总结(十三)——极简主义法编写JavaScript类

    前两天在网上无意中发现了一篇使用极简主义法定义JavaScript类的文章,原文链接,这个所谓的"极简主义法"我还是第一次听说,是荷兰程序员Gabor de Mooij提出来的,这 ...

随机推荐

  1. Flutter学习(一)——搭建开发环境(Windows)

    久闻 Flutter 大名,今天终于有时间体验一下了 ٩(๑>◡<๑)۶ 官网:https://flutter.dev/ 中文官网:https://flutterchina.club/ 一 ...

  2. Ubuntu 16.04通过Snap安装应用程序

    16.04LTS可以说是一个不寻常的5年支持版本,同时也带来了Snap应用,并通过Snap可以安装众多的软件包.需要注意的是,Snap是一个全新的软件包架构,但是同样也比其它的软件包大很多. 简单的安 ...

  3. Credit Memo和Debit Memo在AR以及AP中的概念比较

    AR和AP中都有Credit Memo和Debit Memo的概念, 但是其含义和用法完全不一样,比较难懂,现在整理如下:AR中的CreditMemo和DebitMemo是和客户打交道:AR中的Cre ...

  4. Shannon-Fano-Elias编码的C语言实现

    Shannon-Fano-Elias编码 一.理论分析 Shannon-Fano-Elias编码是利用累积分布函数来分配码字. 不失一般性,假定取X={1,2,-m}.如果对于全部的x,有p(x)&g ...

  5. 【Todo】一些scala的实验 & 与Java的混合

    另外,如果要支持 java 和 scala混合build,可以看看这篇文章: http://www.cnblogs.com/yjmyzz/p/4694219.html Scala和Java实现Word ...

  6. python各种类型转换

    python各种类型转换 学习了:https://blog.csdn.net/shanliangliuxing/article/details/7920400 https://blog.csdn.ne ...

  7. Hive 外部表 分区表

      之前主要研究oracle与mysql,认为hive事实上就是一种数据仓库的框架,也没有太多另类,所以主要精力都在研究hadoop.hbase,sqoop,mahout,近期略微用心看了下hive. ...

  8. SolidEdge如何绘制变化半径倒圆角

    1 在要变化半径的边上打一些点   2 点击倒角命令的参数对话框,选择可变半径   3 选择倒角的直线,右击确认,再依次点击关键点,修改倒角数值,修改之后按回车,继续下一个点,直到结束.  

  9. leetcode Valid Palindrome C++&amp;python 题解

    题目描写叙述 Given a string, determine if it is a palindrome, considering only alphanumeric characters and ...

  10. PHP读取excel(6)

    有时候我们只需要读取某些指定sheet,具体代码如下: <?php header("Content-Type:text/html;charset=utf-8"); //引入读 ...