不知道靠不靠谱的问题

周末的时候跟后端大佬交流一下前端问题,其实是我单方面被碾压,根本不存在交流

1.alert(‘狗')弹出过程中发生了什么?

当我听到这个问题的时候一阵懵逼,发生了什么。。。现在alert都没怎么用了,我怎么知道他还发生了啥

这个问题重要吗,不管重不重要,还是查一查资料(百度一波)

alert是js弹出框,属于window对象的下的方法,因为window对象是浏览器中默认的全局执行环境,因此可以直接调用alert方法,alert(123)=== window.alert(123)

js总的来说包含三个部分:ecma 核心语法、Bom 浏览器对象模型、Dom 文档对象模型

ecma中包含了语句、流程控制、数据类型、数组及方法、对象及方法等等基础知识

Bom 提供与浏览器环境交互的接口:

window对象(alert、prompt、confirm、setTimeout、setInterval、cleartimeout、clearInterval)

location对象(location.href、location.path、浏览器地址相关操作,既是window对象也是document对象的属性)

navigator对象(navigator.userAgent)

history对象 (history.go()、history.back())

Dom提供与页面元素交互的接口,对html中的元素进行增删改查的操作

增:let div = document.createElement('div')      ; document.body.append(div)

        parent.appendChild(child)  //    上面的方法存在一定兼容问题,且能追加一组dom对象或StringDom对象(文本节点) 没有返回值,下面的方法只能追加一个dom 节点,且返回该节点

删:parent.removeChild(child)             //删除子节点               parent.remove()                 //删除自身

改(插入):parent.insertBefore(newChild,someChild)

查:document.getElementByTagName('div')  =》类数组对象

        document.getElementById('lynn')     =》dom节点

        document.getElementByClassName('lynn')   =》类数组对象

        document.querySlector('lynn') =》 dom节点

        document.querySlectorAll('lynn') =>类数组对象

2.window和document对象的区别,都可以挂载属性吗?

在没有iframe框架的情况下,window对象和document对象基本没有区别,document对象是window对象的子对象,主要用于对html元素进行js层面的操作,两个对象都可以挂载属性,因为对象本来就是可以添加任意属性,但是window下的属性可以作为全局变量直接访问,而document不行

3.[ ] 和 new Array 有什么区别

字面量生命和new 声明没有太大的区别,都能使用array实例的方法,通过new Array(5)可以指定数组长度,而【】只能根据内容来确定数组长度

4.扩展字符(...)实现的原理 

js中是es6新添加的 ... 扩展字符和剩余参数,将数组转为参数列表

原理我还没搞懂

5.为什么0.1+0.2 !== 0.3

因为计算机不能准确表达0.1,0.2这样的浮点数,存在精度误差,但也不是所有的浮点数都的表示都存在误差,比如0.5就不存在误差

6.异步的实现是为了解决什么问题,js中有哪些实现异步操作的方法

异步的实现是为了提高js执行的整体效率,单线程的js操作在有了异步以后,可以同时处理别的任务,不用卡在一个地方一直等待

js中实现异步的方法有:回调函数、async函数、promise对象

7.ajax的xhr是什么?怎样实现原生js手写一个ajax

ajax的xhr是xmlHttpRequest对象的实例,利用它进行数据传输

手写ajax简单版:

let xhr = new xmlHttlRequest()  // ie6 以前需要做兼容  

xhr.open(method,url,true||false)

xhr.onreadyStateChange = () => {

    if(xhr.ready === 4 && xhr.status === 200) {

        console.log(‘请求成功!’)

        // 执行请求成功的操作

    }

}

xhr.send(null || data)

8.数组的pop方法和shift有什么性能区别

pop方法,取出数组最后一个值,并返回该值;shift 取出数组第一个值,并返回

在一段连续内存地址中,去掉第一个,需要重新整理内存地址顺序,去掉最后一个则不用,因此,pop方法比shift方法性能高一点

9.对象在什么情况下,会被垃圾回收机制命中回收

js中,当一个变量、对象属性不需要了,可以delete name 删除,删除成功返回值为true  再次访问时值为undefined

⚠️:var function声明的变量因为有dontDelete 所以不能使用delete操作符删除 let const 同理 使用时返回false 删除失败

⚠️:原型链中的属性也不能被删除

当一个对象不需要了,将他的内存地址指向Null,或者代码中不存在被其他变量或对象引用的情况时,就会命中垃圾回收机制,收回栈中的内存空间

ps:具体的垃圾回收机制原理,下次再详细记录,见后文文章

10.json数据结构的弊端

json数据传输,仅需要json中某个字段时,传输整个json数据,就显得比较多余,且不利于性能

11.后台返回一个大量级的数据,前端应该怎么样做优化

当后台🐶不帮我们切片分页的时候,我们前端小仙女要学会自己分页鸭

自己实现滑屏自动加载下一页,或者一定时间内加载下一页数据

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容

  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,209评论 0 3
  • 首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组...
    JamHsiao_aaa4阅读 1,935评论 0 2
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,774评论 0 8
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,341评论 0 2
  • PNG 有PNG8和truecolor PNG PNG8类似GIF颜色上限为256,文件小,支持alpha透明度,...
    hudaren阅读 1,534评论 0 0