JavaScript中的load事件的作用_史上最全的web前端面试题汇总及答案JavaScript之二(二)...
作者:樱桃小丸子儿
链接: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中的load事件的作用_史上最全的web前端面试题汇总及答案JavaScript之二(二)...相关推荐
- javascript array添加图片_史上最全的web前端面试题汇总及答案JavaScript之二(二)...
作者:樱桃小丸子儿 链接:https://www.jianshu.com/p/abadcc84e2a4 JavaScript JS的基本数据类型 number,string,boolean,objec ...
- html权重值_史上最全的web前端面试题汇总及答案HtmlCss(二)
作者:樱桃小丸子儿 链接:https://www.jianshu.com/p/abadcc84e2a4 HTML&CSS img的alt和title的异同? **alt **是图片加载失败时, ...
- java 前端页面传过来的值怎么防止篡改_答对这40道经典web前端面试题,想不拿到offer都难!...
想成功就业web前端工程师,想要能高薪就业,那么除了好的web前端技能以外,还得有好的面试技巧,如果提前就了解更多企业的面试要求及面试题目,那么可以让我们的面试成功的几率大大的提高. 今天小编就整理了 ...
- python常用面试题_史上最全Python工程师常见面试题集锦,有这一份就够了
从互联网诞生以来,基本上所有的程序都属于网络程序,也就需要设计到网络编程,在python中,就是在python程序本身这进程内,链接别的服务器进程的通信端口进行通信.在Python程序员找工作的时候, ...
- 前端面试题汇总(JavaScript面试纯干货)
前端面试题汇总(JavaScript面试纯干货) 1 闭包 闭包就是能够读取其他函数内部变量的函数 闭包是指有权访问另⼀个函数作⽤域中变量的函数,创建闭包的最常⻅的⽅式就是在⼀个函数内创建另⼀个函数, ...
- 键盘上每个键作用!!! (史上最全的~~精)
键盘上每个键作用!!! (史上最全的~~精) F1帮助 A9\m .3jo F2改名 Hq[d!qc F3搜索 Q*}#?g F4地址 h\".TySz F5刷新 L9nv05B ...
- 键盘上每个键作用!!! (史上最全的)
键盘上每个键作用!!! (史上最全的) F1帮助 F2改名 F3搜索 F4地址 F5刷新 F6切换 F10菜单 CTRL+A全选 CTRL+C复制 CTRL+X剪 ...
- 「前端面试题系列7」Javascript 中的事件机制(从原生到框架)
前言 这是前端面试题系列的第 7 篇,你可能错过了前面的篇章,可以在这里找到: 理解函数的柯里化 ES6 中箭头函数的用法 this 的原理以及用法 伪类与伪元素的区别及实战 如何实现一个圣杯布局? ...
- win7蓝屏_史上最全电脑蓝屏代码含义,Win7电脑蓝屏最全攻略
电脑蓝屏大家或多或少的都遇到过,今天李哥为大家整理了这方面的内容,给大家来详细了解一下. 电脑蓝屏,又叫蓝屏死机,简称BSOD,是微软的 Windows 系列操作系统在无法从一个系统错误中恢复过来时, ...
最新文章
- std::bind介绍
- win7-64系统安装oracle 11G客户端
- SQL Server 问题之 排序规则(collation)冲突
- linux 遇到的问题
- REVERSE-PRACTICE-BUUCTF-13
- 【Python】 [基础] 条件判断 与 循环 与dict和set
- Moto X的谷歌基因
- 【Prison Break】第五天(4.1)
- 一如此前的回应,王劲将景驰科技总部搬到了广州
- fortran语言和python语言_Fortran常用语句
- paip.提升安全性-------生成一个安全的验证码
- wincc怎么做数据库_WINCC与数据库连接
- 一文解决十大排序算法(动画图解)
- 移动播放器html,支持移动平台的Html5播放器
- C语言实现一元多项式的加减运算
- Excel 2019:二级级联下拉框设置
- Python中当pip安装不成功的解决办法
- 架构模式-VIPER
- 3维旋转矩阵推导与助记
- MYSQL配置环境变量
热门文章
- Python 精要参考(第二版) 第六章 函数与函数编程
- 币知识——比特币现金
- Java零拷贝续——DirectByteBuffer内存回收
- Jsoup下载图片报错:UnsupportedMimeTypeException
- Redis实现参数的集中式管理
- Zookeeper集群 + Kafka集群 + KafkaOffsetMonitor 监控
- C#:异步编程和线程的使用(.NET 4.5 ),异步方法改为同步执行
- MultipartEntity与UrlEncodedFormEntity区别
- C++的那些事:你真的了解引用吗
- Windows 服务入门指南