javascript基础知识


JavaScript中的this陷阱的最全收集–没有之一

当有人问起你JavaScript有什么特点的时候,你可能立马就想到了单线程、事件驱动、面向对象等一堆词语,但是如果真的让你解释一下这些概念,可能真解释不清楚。有句话这么说:如果你不能向一个6岁小孩解释清楚一个东西,那么你自己也不懂这个东西。这句话 …


JavaScript Date.parse 的小坑

TL;DR new Date 和 Date.parse 在格式化某些日期字符串的时候,时区具有不确定性,最好用 moment.js 这类工具去处理。 不确定的日期字符串 事情的起源是客户跟我说网页上的某个日期总是比实际日期少一天。经过一步步 debug 后发现问题在此: js// 客 …


JavaScript面试基础小结(高手请无视)

事件委托 ul#wrap>li.item$*2>{item $} 得到如下 html<ul id=”wrap”> <li class=”item1″>item 1</li> <li class=”item2″>item 2</li> </ul> 一个监听,多个函数绑定 js document.getElementByI …


前端面试题

以下都是网上整理出来的JS面试题,答案仅供参考。 2,截取字符串abcdefg的efg //alert(‘abcdefg’.substring(4)); 3,判断一个字符串中出现次数最多的字符,统计这个次数 /*var str = ‘asdfssaaasasasasaa'; var json = {}; for (var i = 0; i < …


JavaScript的计时器的工作原理

最近都在看一些JavaScript原理层面的文章,恰巧看到了jQuery的作者的一篇关于JavaScript计时器原理的解析,于是诚惶诚恐地决定把原文翻译成中文,一来是为了和大家分享,二来是为了加深自己对于JavaScript的理解。原文链接:http://ejohn.org/blog/how-ja …


来说说isNaN()和isFinite()

简单的说isNaN()是判断一个值是不是不能被转成数字 isFinite()是和isNaN()相反的,判断一个一个值是不是能转成数字 首先,Number类型肯定是能转的,Number(1) //1 然后,数字的字符串也能转的,Number(‘1′) //1 然后,各种可能和0等价的东西,null,”” …


延迟自定义函数

如果函数内又定义了一个跟自己同名的函数,执行结果是什么? function scareMe(){ alert(“Boo!”); function scareMe(){ alert(“double boo!”); } scareMe(); } scareMe(); 结论:把函数名当变量理解,还遵循作用域链规则。即外部调用外 …


《javascript语言精粹》学习笔记 – 对象

Javascirpt里的对象是无类型的。它对新属性的名字和属性的值没有任何的限制。对象适用于汇集和管理数据。对象可以包括其他对象,所以它们可以容易地表示成树状或者图形结构。


原生JavaScript事件详解

JQuery这种Write Less Do More的框架,用多了难免会对原生js眼高手低。 小菜其实不想写这篇博客,貌似很初级的样子,但是看到网络上连原生js事件绑定和解除都说不明白,还是决定科普一下了。 首先声明,小菜懂的也不是很多,只是把我的思路和大家分享一 …


JavaScript 笔记 —— 鼠标事件的浏览器差异

鼠标是我们在 PC 端浏览网页时候最重要的交互工具,因此鼠标事件也是 Web 开发当中最常用的一类事件。然而,由于各种原因,不同厂商或者不同版本的浏览器之间对于鼠标事件的实现也有所不同。本文总结一下,鼠标事件在不同浏览器实现的差异。