• [WEB面试题] web前端面试题JavaScript第一弹,个人整理部分面试题汇总


    以下内容仅供参考,成年人不讲对错只讲利弊

    1.什么是JavaScript原型链?如何理解

    JavaScript中的每个对象都有一个prototype属性,我们称之为原型

    原型的值是一个对象有自己的原型,这样就串联起来了一条原型链,原型链的链头是object,它的prototype比较特殊,值为null。

    原型链的作用是用于对象继承,函数A的原型属性(prototype property)是一个对象,当这个函数被用作构造函数来创建实例时,该函数的原型属性将被作为原型赋值给所有对象实例,比如我们新建一个数组,数组的方法便从数组的原型上继承而来。

    当访问对象的一个属性时, 首先查找对象本身, 找到则返回; 若未找到, 则继续查找其原型对象的属性(如果还找不到实际上还会沿着原型链向上查找, 直至到根). 只要没有被覆盖的话, 对象原型的属性就能在所有的实例中找到,若整个原型链未找到则返回undefined

    2.JavaScript中typeof返回的数据类型有哪些?

    Object number function boolean underfind

    3.强制类型转换和隐式类型转换举例

    强制(parseInt,parseFloat,number)

    隐式(==   ===)

    4.数组函数方法split(), join() ,pop(), push() ,unshift() ,shift()分别是什么

    split()是切割成数组的形式

    join是将数组转换成字符串

    Push()尾部添加

    pop()尾部删除

    Unshift()头部添加

    shift()头部删除

    5.闭包是什么,有什么特性?介绍你对闭包的理解?

    “闭包就是能够读取其他函数内部变量的函数”

    闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。闭包的特点:
      1. 作为一个函数变量的一个引用,当函数返回时,其处于激活状态。
      2. 一个闭包就是当一个函数返回时,一个没有释放资源的栈区。
      简单的说,Javascript允许使用内部函数---即函数定义和函数表达式位于另一个函数的函数体内。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数和声明的其他内部函数。当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包。

    6.什么是对象?

    JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。

    在 JavaScript 中,对象是拥有属性和方法的数据

    在 JavaScript 中,对象是数据(变量),拥有属性和方法。
    当您像这样声明一个 JavaScript 变量时:
    var txt = "Hello";
    您实际上已经创建了一个 JavaScript 字符串对象。

    7.HTTP完整的请求是怎么样的?

    1.域名解析

    2.发出TCP三次握手  “TCP 为什么需要3次握手?”

    3.建立TCP连接后发起http请求

    4.服务器端响应http请求,浏览器得到html代码

    5. 浏览器解析html代码,并请求html代码中的资源

    6.浏览器对页面进行渲染呈现给用户

    “第7点内容取材于 “雷纳科斯的博客” 博客整理而来,更多细节请http://linux5588.blog.51cto.com/65280/1351007”

    8.ajax序列化有什么用?如何序列化?

    序列化元素  serialize()方法  它能够将DOM元素内容序列化为字符串

    序列化的值可在生成AJax请求时用于URL查询字符串中

    当我们使用ajax时,常常需要拼装input数据以键值对(Key / Value)的形式发送到服务器,用jquery的serialize方法可以轻松的完成这个工作,使用这个方法可以将表单序列化为键值对(key1=value1&key2=value2…)后提交

    1.//serialize()方法
    $(selector).serialize()  
    //创建以标准URL编码表示的文本字符串,它的操作对象是代表表单元素集合的JQuery对象;
    // 把复选框和单选框的值序列化为字符串形式,只会将选中的值序列化  
    $(':checkbox, :radio').serialize()  
    2.//serializeArray()方法
    //该方法不是返回字符串,而是将dom元素序列化后,返回JSON格式的数据
    <div>  
        <input type="radio" name="test" value="A">  
    </div>  
    var fields = $(':radio').serializeArray();  
    console.log(fields);  
    3.//$.param()方法
    //它是serialize()方法的核心,用来对一个数组或者对象按照key / value进行序列化
    var obj = {a:1, b:2, c:3};  
    var k = $.param(obj);  
    console.log(k);  
    // 输出结果为    "a=1&b=2&c=3"  
    既使一个人,我依然在这里等着你
  • 相关阅读:
    基于注解的springmvc开发
    判断两数之和
    redux-saga call 和 fork的区别
    滚动轴滚动方向判断
    原生方法scrollTo支持滚动特效
    npm下载包失败的几个原因
    关闭vscode打开新文件自动关闭预览文件功能
    在本地文件当中package.json的作用
    解决crlf 和 lf不同带来的冲突问题
    package-lock.json 文件的作用
  • 原文地址:https://www.cnblogs.com/mibear/p/7173855.html
Copyright © 2020-2023  润新知