• 前端面试题---Javascript


    一、Javascript

      

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

          

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

         

         3.split() join() 的区别
            答:前者是切割成数组的形式,后者是将数组转换成字符串

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

      

        5、事件绑定和普通事件有什么区别

            答:事件绑定就是针对dom元素的事件,绑定在dom元素上

            普通事件即为非针对dom元素的事件

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

    7.ajax请求的时候get 和post方式的区别
    答:一个在url后面 一个放在虚拟载体里面

               1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来

    
    

               2.使用Get请求发送数据量小,Post请求发送数据量大

     

       8.call和apply的区别

          答: call方法: 
            语法:call(thisObj,Object)
            定义:调用一个对象的一个方法,以另一个对象替换当前对象。
            说明:
            call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 
                如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 

          apply方法: 
           语法:apply(thisObj,[argArray])
           定义:应用某一对象的一个方法,用另一个对象替换当前对象。 
           说明: 
            如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。 
            如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。

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

       10.事件委托是什么
          答:让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!

       11.闭包是什么,有什么特性,对页面有什么影响

          答:“官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。

                 通俗的讲:就是函数a的内部函数b,被函数a外部的一个变量引用的时候,就创建了一个闭包。

               闭包的特性:

               ①.封闭性:外界无法访问闭包内部的数据,如果在闭包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口;
               ②.持久性:一般的函数,调用完毕之后,系统自动注销函数,而对于闭包来说,在外部函数被调用之后,闭包结构依然保存在

               缺点:
                   使用闭包会占有内存资源,过多的使用闭包会导致内存溢出等.

       12.如何阻止事件冒泡和默认事件
            答:canceBubble return false

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

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

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

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

         17.”==”和“===”的不同
             答:前者会自动转换类型
                  后者不会

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

    
    
    
  • 相关阅读:
    shell进行mysql统计
    java I/O总结
    Hbase源码分析:Hbase UI中Requests Per Second的具体含义
    ASP.NET Session State Overview
    What is an ISAPI Extension?
    innerxml and outerxml
    postman
    FileZilla文件下载的目录
    how to use webpart container in kentico
    Consider using EXISTS instead of IN
  • 原文地址:https://www.cnblogs.com/zqm1/p/6430774.html
Copyright © 2020-2023  润新知