作者:樱桃小丸子儿

链接:https://www.jianshu.com/p/abadcc84e2a4

JavaScript

JS的基本数据类型

number,string,boolean,object,undefined

JavaScript中如何检测一个变量是一个String类型?请写出函数实现

function(obj) {  return typeof(obj) == ”string”; } 

JavaScript的DOM是什么意思?

DOM是W3C的对象模型,DOM是中立于平台和语言的接口,它允许程序和脚本动态的访问和更新文档的内容结构和样式。

如何显示/隐藏一个DOM元素

更改元素的css style,设为display: none。此外还可以将visibility设为hidden,透明度设为0,或长、宽设为0。

JavaScript的节点是什么意思?

根据W3C的标准,HTML中文档的所有内容都是节点 ,整个文档是一个文档节点 ,每个html元素都是元素节点, Html元素中的文本是文本节点 ,每个html属性都是属性节点 ,注释是注释节点。

javascript对象的几种创建方式

1、工厂模式

2、构造函数模式

3、原型模式

4、混合构造函数和原型模式

5、动态原型模式

6、寄生构造函数模式

7、稳妥构造函数模式

javascript继承的6种方法

1、原型链继承

2、借用构造函数继承

3、组合继承(原型+借用构造)

4、原型式继承

5、寄生式继承

6、寄生组合式继承

JavaScript继承方式详解

NaN 是什么鬼?typeof 的结果是?如果一个变量的值是 NaN,怎么确定?

NaN 是 'not a number' 的缩写,表示 "不是一个数字",通常会在运算过程中产生:

console.log('abc' / 4); console.log(4 * 'a');

虽然它 "不是一个数字",但是 NaN 的 typeof 结果却是 number:

console.log(typeof (4 * 'a')); // number

NaN 和任何变量都不相等,包括 NaN 自己:

console.log(NaN === NaN); // false

判断一个变量是不是 NaN 可以用 isNaN()

函数,但是这并不是一个完美的函数,有些时候用value !== value似乎更准确,幸运的是,ES6 已经有Number.isNaN() 方法,将比 isNaN()准确的多。

怎样添加、移除、移动、复制、创建和查找节点?

创建新节点

createDocumentFragment() //创建一个DOM片段

createElement() //创建一个具体的元素

createTextNode() //创建一个文本节点

添加、移除、替换、插入

appendChild() //添加

removeChild() //移除

replaceChild() //替换

insertBefore() //插入

查找

getElementsByTagName() //通过标签名称

getElementsByName() //通过元素的Name属性的值

getElementById() //通过元素Id,唯一性

documentload和documentready的区别

页面加载完成有两种事件

①load是当页面所有资源全部加载完成后(包括DOM文档树,css文件,js文件,图片资源等),执行的一个函数

问题:如果图片资源较多,加载时间较长,onload后等待执行的函数需要等待较长时间,所以一些效果可能受到影响

②$(document).ready()是当DOM文档树加载完成后执行一个函数 (不包含图片,css等)所以会比load较快执行。

在原生的jS中不包括ready()这个方法,只有load方法就是onload事件

事件绑定的几种方法?

以button的Click事件为例:

click mefunction clickBtn() {alert('click!');}

1、直接在元素上绑定回调函数

click me

2、JS获取DOM元素对象后,对onclick属性赋值,绑定事件: document.getElementById('btn').οnclick=clickBtn;

3、JS获取DOM对象后,调用对象的addEventListener函数绑定事件:document.getElementById('btn').addEventListener('click',clickBtn);

事件冒泡?

JavaScript事件冒泡简介及应用

在Javascript中什么是伪数组?如何将伪数组转化为标准数组?

伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以对真正数组遍历方法来遍历它们。

典型的是函数的argument参数,还有像调用getElementsByTagName,document.childNodes之类的,它们都返回NodeList对象都属于伪数组。

可以使用Array.prototype.slice.call(fakeArray)将数组转化为真正的Array对象。

js将伪数组转换为标准数组的多种方法

常用JS框架都有什么?

前端Js框架汇总

Javascript中callee和caller的作用?

caller是返回一个对函数的引用,该函数调用了当前函数;

callee是返回正在被执行的function函数,也就是所指定的function对象的正文。

数组方法pop() push() unshift() shift()

push()尾部添加 pop()尾部删除 Unshift()头部添加 shift()头部删除

JavaScript中数组对象详解

为什么要用IIFE

简单来说就是为了能模块化,创建私有变量等等,很多类库(比如 jQuery)都用了这样的写法。

详解javascript立即执行函数表达式(IIFE)

严格模式下进行 Javascript 开发有啥好处?

参考阮一峰老师的Javascript 严格模式详解

Javascript 严格模式详解

Node.js的适用场景

高并发、聊天、实时消息推送

描述一下cookies

web前端面试题第五道—简述Cookie,在JS中如何操作Cookie?

事件是?IE与火狐的事件机制有什么区别? 如何阻止冒泡?

①我们在网页中的某个操作(有的操作对应多个事件)。例如:当我们点击一个按钮就会产生一个事件。是可以被 JavaScript 侦测到的行为。

② 事件处理机制:IE是事件冒泡、火狐是 事件捕获;

③ ev.stopPropagation();

如何判断一个对象是否属于某个类

使用instanceof

if(a instanceof Person)

{

alert('yes');

}

Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是?

hasOwnProperty

js延迟加载的方式有哪些?

defer和async、动态创建DOM方式(用得最多)、按需异步载入js

javascript的本地对象,内置对象和宿主对象

本地对象为array obj regexp等可以new实例化

内置对象为gload Math 等不可以实例化的

宿主为浏览器自带的document,window 等

手写数组快速排序

关于快排算法的详细说明,可以参考阮一峰老师的文章快速排序

快速排序(Quicksort)的Javascript实现

“快速排序”的思想很简单,整个排序过程只需要三步:

(1)在数据集之中,选择一个元素作为”基准”(pivot)。

(2)所有小于”基准”的元素,都移到”基准”的左边;所有大于”基准”的元素,都移到”基准”的右边。

(3)对”基准”左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。

统计字符串”aaaabbbccccddfgh”中字母个数或统计最多字母数。

varstr = "aaaabbbccccddfgh"; varobj = {}; for(vari=0;istr.length;i++){  varv = str.charAt(i);  if(obj[v]&obj[v].value == v){  obj[v].count = ++ obj[v].count; }else{  obj[v] = {};  obj[v].count = 1;  obj[v].value = v;  } } for(key inobj){  document.write(obj[key].value +'='+obj[key].count+' ');// a=4 b=3 c=4 d=2 f=1 g=1 h=1 }

写一个function,清除字符串前后的空格。(兼容所有浏览器)

functiontrim(str){  if(str&typeof str === "string"){  returnstr.replace(/(^s*)|(s*)$/g,"");//去除前后空白符  } }

如何制作一个combo选项

combo选项就是可以手动输入值,也可以选择下拉列表值的选项。

思路:

①布局select和input,让input覆盖select,除了select的下拉图标,以方便select选择。

②编写js,为select添加onchange事件,onchange时将input的value置成select选中的值。

这个网上有很多成品,大家可以自己试一下,下边给出一个。

实现一个combo选项

javascript array添加图片_史上最全的web前端面试题汇总及答案JavaScript之二(二)...相关推荐

  1. JavaScript中的load事件的作用_史上最全的web前端面试题汇总及答案JavaScript之二(二)...

    作者:樱桃小丸子儿 链接:https://www.jianshu.com/p/abadcc84e2a4 JavaScript JS的基本数据类型 number,string,boolean,objec ...

  2. html权重值_史上最全的web前端面试题汇总及答案HtmlCss(二)

    作者:樱桃小丸子儿 链接:https://www.jianshu.com/p/abadcc84e2a4 HTML&CSS img的alt和title的异同? **alt **是图片加载失败时, ...

  3. 史上最全的web前端面试题汇总及答案1

    小编推荐:Fundebug提供JS错误监控.微信小程序错误监控.微信小游戏错误监控,Node.j错误监控和Java错误监控.真的是一个很好用的错误监控费服务,众多大佬公司都在使用. 很早之前就在看we ...

  4. 史上最全的web前端面试题汇总及答案3

    小编推荐:Fundebug提供JS错误监控.微信小程序错误监控.微信小游戏错误监控,Node.j错误监控和Java错误监控.真的是一个很好用的错误监控费服务,众多大佬公司都在使用. 前段时间在gith ...

  5. 金三银四,磨砺锋芒;剑指大厂,扬帆起航(2020年最全大厂WEB前端面试题精选)上

    引言 元旦匆匆而过,2020年的春节又接踵而来,大家除了忙的提着裤子加班.年底冲冲冲外,还有着对于明年的迷茫和期待!2019年有多少苦涩心酸,2020年就有更多幸福美好,加油,奥利给!怀着一颗积极向上 ...

  6. java 前端页面传过来的值怎么防止篡改_答对这40道经典web前端面试题,想不拿到offer都难!...

    想成功就业web前端工程师,想要能高薪就业,那么除了好的web前端技能以外,还得有好的面试技巧,如果提前就了解更多企业的面试要求及面试题目,那么可以让我们的面试成功的几率大大的提高. 今天小编就整理了 ...

  7. 史上最全的前端开发面试题(含详细答案)

    本文由我收集网络 自己平时面试的 或者面试别人时的一些前端面试题,初学者阅后也要用心钻研其中的原理,重要知识需要系统学习.透彻学习,形成自己的知识链.万不可投机取巧,切勿临时抱佛脚只求面试侥幸混过关. ...

  8. python常用面试题_史上最全Python工程师常见面试题集锦,有这一份就够了

    从互联网诞生以来,基本上所有的程序都属于网络程序,也就需要设计到网络编程,在python中,就是在python程序本身这进程内,链接别的服务器进程的通信端口进行通信.在Python程序员找工作的时候, ...

  9. 2016年GitHub上史上最全的Android开源项目分类汇总

    以下内容为转载 版主原网址 http://itindex.net/detail/51896-github-android-开源 GitHub上史上最全的Android开源项目分类汇总 今天在看博客的时 ...

最新文章

  1. 活动目录系列之三:建立子域和林中第二棵域树
  2. Answer:关于C#连续赋值的面试题
  3. 云计算机运行内存,电脑内存,云服务器内存最深刻的解读!
  4. 制作已编译的html帮助文件
  5. POSIX定时器Timer
  6. Android 小技巧-- TextView与EditText 同步显示
  7. 2012-2-24 《数据结构》读书笔记2 线性表
  8. tensorflow之truncated_normal
  9. 进阶10 补充知识点
  10. python适用于哪些芯片_这些鲜为人知的Python功能,你值得拥有!
  11. awstats 日志分析
  12. 在线切换主题颜色无效_HeyUI组件库 | 如何实现在线切换主题
  13. 关于jenkins打包部署
  14. 用友nc java下载_用友nc的java插件下载
  15. python 中文乱码 \u5b66\u90a6\u5ba2\u6237
  16. 模拟招聘大赛题目关于计算机,模拟招聘大赛活动策划书范文
  17. VSTO Ribbons的完整介绍
  18. mybatis的left join多条件操作
  19. word无法创建工作文件,请检查临时环境变量 Mark一下
  20. 【数学建模绘图系列教程】绘图模板总结

热门文章

  1. asl不成功怎么算_那些减肥成功还不反弹的人是怎么做到的?
  2. lotus php,LotusPhp笔记之:Cookie组件的使用详解
  3. toft 测试用例rat_一篇文章详述配对测试的测试用例设计!强烈建议收藏
  4. python操作excel表格写入多行和多列_python多处理:写入同一excel-fi
  5. Shell运算符及条件判断
  6. java课程之团队开发第一阶段评论
  7. MySQL 中的三中循环 while loop repeat 的基本用法
  8. 《DSP using MATLAB》示例Example7.20
  9. requests源码分析
  10. 【AngularJS学习笔记】Java Script use strict 严格模式