
js
david___
这个作者很懒,什么都没留下…
展开
-
js单线程和setTimeout的
面试的时候遇到的几个问题1. js单线程的while(true) { setTimeout(() => { console.log('1') }, 0)}没打上来,确实很简单,一开始看不出来是考察单线程的,因为js引擎一次处理一个线程,setTimeout线程放到线程队列里边,先执行while,但是因为死循环,所以无法打印。2. 问到了数据库索引,有哪些类...原创 2019-10-28 13:42:45 · 265 阅读 · 0 评论 -
js中的async和await问题
今天在写代码的时候用到了async和await,await不能写在map函数里,要用for循环来遍历。原创 2017-05-02 15:46:16 · 828 阅读 · 0 评论 -
判断checkbox是否选中的三种方法
方法一if ($("#checkbox-id")get(0).checked) { // do something}方法二if($('#checkbox-id').is(':checked')) { // do something}方法三if ($('#checkbox-id').prop('checked')) { // do something原创 2016-12-24 14:21:03 · 4351 阅读 · 0 评论 -
JS实现继承
面试遇到的一道题,以为自己掌握得很牢固,其实渣渣,现在回过头来总结一下。定义两个类,vehicle类,car类,vehicle类有两个方法,drive方法和stop方法,car类的drive方法继承自vehicle,stop方法是自己的方法,如何实现。 Document function Vehicle(){ this.drive = function(){ ale原创 2016-12-23 14:47:03 · 328 阅读 · 0 评论 -
GET和POST有什么区别?及为什么网上的多数答案都是错的。
我的经历 前几天有人问我这个问题。我说GET是用于获取数据的,POST,一般用于将数据发给服务器之用。 这个答案好像并不是他想要的。于是他继续追问有没有别的区别?我说这就是个名字而已,如果服务器支持,他完全可以把GET改个名字叫GET2。他反问道,那就是单纯的名字上的区别喽?我想了想,我觉得如果说再具体的区别,只能去看RFC文档了,还要取决于服务器(指Apache,I转载 2016-12-23 12:39:39 · 326 阅读 · 0 评论 -
JavaScript判断数据类型
前一阵写过一个如何判断数据类型的文章,再更新一些。在 JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种。对于数组、函数、对象来说,其关系错综复杂,使用 typeof 都会统一返回 “object” 字符串。还可以使用instanceof,例如v原创 2016-12-21 18:06:21 · 301 阅读 · 0 评论 -
setTimeout异步执行
下面这段代码想要循环昝输出结果01234,请问输出结果是否正确,如果不正确,请说明为什么,并修改循环内的代码使其输出正确结果for(var i=0;i<5;++i){ setTimeout(function(){ console.log(i); },1000);}查到的资料是 JavaScript是单线程执行的,无法同时执行多段代码。当某一段代码正在执行的时候,所有后原创 2016-12-21 17:54:53 · 1841 阅读 · 0 评论 -
js二维数组排序
以为数组我们知道可以用array的内置函数sort函数来排序,但是二维数组呢,二维数组排序也很简单,也是利用sort函数,只不过sort函数里面的compare函数的参数(a,b)变成了数组,即a和b都是二维数组的项,代码如下:var aqiData = [ ["北京", 90], ["上海", 50], ["福州", 10],原创 2016-12-12 08:40:17 · 4563 阅读 · 1 评论 -
JavaScript实现trim函数
有三种方法别人的方法,使用正则表达式写成类的方法格式如下:(str.trim();) String.prototype.trim=function(){ return this.replace(/(^\s*)|(\s*$)/g, ""); } String.prototype.ltrim=function(){ return this.repla原创 2016-11-03 21:41:27 · 5327 阅读 · 1 评论 -
JS中apply call bind的区别
在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢。在说区别之前还是先总结一下三者的相似之处:1、都是用来改变函数的this对象的指向的。2、第一个参数都是this要指向的对象。3、都可以利用后续参数传参。那么他们的区别在哪里的,先看一个例子。 var xw = {转载 2016-10-30 10:20:49 · 391 阅读 · 0 评论 -
JavaScript判断变量类型:typeof函数与constructor属性异同
有时你可能需要对变量进行类型检查,或者判断变量是否已定义。有两种方法可以使用:typeof函数与constructor属性。 typeof函数的用法可能不用我多说,大家都知道怎么用。而constructor属性大家可能就陌生点。在《精通JavaScript》这本书中有提到construct的用法,但我用自己的几个浏览器(IE7.0 / Firefox1.9 / Opera转载 2016-10-26 21:02:53 · 444 阅读 · 0 评论 -
闭包的理解
我看闭包是为了能让外部得到函数内部定义的局部变量。那为什么一定要写成这样的形式呢?function f1(){ var n=999; function f2(){ alert(n); } return f2; } var result=f1(); result(); // 999就直接return 不行么?像这样functio转载 2016-10-12 14:57:55 · 298 阅读 · 0 评论 -
数组去掉重复项的几种方法
面试前端必须准备的一个问题:怎样去掉Javascript的Array的重复项。据我所知,百度、腾讯、盛大等都在面试里出过这个题目。 这个问题看起来简单,但是其实暗藏杀机。 考的不仅仅是实现这个功能,更能看出你对计算机程序执行的深入理解。 我总共想出了三种算法来实现这个目的:Array.prototype.unique1 = function(){ var n = [];转载 2016-10-09 15:51:35 · 822 阅读 · 0 评论 -
JavaScript知识结构
基础基本类型 String Array Boolean Number Object Function每个类型的内置函数(ECMA5新加的一些array的函数之类)Date类型 Regex类型的一些方法和用法(两日期之间相隔天数基本正则等等)流程控制(if else for while)之类任务 做一个类似underscore的数组小工具类 写两三方法即可Api like this_转载 2016-07-29 10:57:08 · 560 阅读 · 0 评论 -
面试遇到的ajax请求串行和并行问题
昨天面试的时候看到的一个题1.有三个ajax请求,如何让这三个ajax请求串行执行,即第一个执行完成后在执行另一个?我回答的是判断上一个请求返回结果,执行完成之后在执行下一个,对吗?2.如何让他们并行执行,然后三个请求都执行完成后,再执行某个操作?我觉得写三个$.ajax不就是并发执行了吗,然后遍历看是否都返回结果了,如果都返回结果了,再进行继续的操作,这么想对吗?意义是什么呢原创 2016-12-16 10:03:50 · 3512 阅读 · 0 评论