尽管jQuery等js框架相比原生javascript使用起来极为方便但是为什么在一些大型互联网公司还是一致强调前端开发人员的js基础,因为尽管javascript使用起来可能非常不便不仅体现在语法而且还要处理复杂的浏览器兼容,但是无论我们如何优化jQuery等框架编写的代码,它永远不可能比javascript引擎提供的原生方法性能更好,原因十分简单:Javascript的原生部分在你编写前端代码之前已经存在于浏览器中,都是用低级语言编写的,这意味着这些方法均被编译成机器码,作为浏览器的一部分,…
资料来自:JavaScript 第一步 1. 向 html 页面添加 JavaScript 1.1 内部 JavaScript 在 html 文件中的 </body> 标签前插入代码: <script> // 在此编写 JavaScript 代码 </script> 1.2 外部 JavaScript 外部链接的存在是为了让文件更具层次性,更易管理.创建名为 script.js 的文件,并存放在 html 文件同一目录.如果 html 文件链接多个 JavaScript…
http://www.feeldesignstudio.com/2013/09/native-javascript-object-properties-and-methods-array/ length 设置或返回 数组中元素的数目. 注意:设置 length 属性可改变数组的大小.如果设置的值比其当前值小,数组将被截断,其尾部的元素将丢失.如果设置的值比它的当前值大,数组将增大,新的元素被添加到数组的尾部,它们的值为 undefined.所以length不一定代表数组的元素个数. var ar…
bind()方法,是javascript原生的函数类的一个原型方法(即Function.prototype里的方法),不支持ie低版本. 基本格式: function.bind(obj1,obj2,obj3...); 其中,function是一个方法属性 obj1是执行此方法的this上下文 obj2及之后的参数,是执行function时传入的参数 bind方法有两个用处: 1.用来改变function方法中的上下文 2.给function方法传入参数 bind方法和apply方法,call方法…
上一篇文章讲到了javascript原生的bind方法: http://www.cnblogs.com/liulangmao/p/3451669.html 这篇文章就在理解了原生bind方法的原理以后,自己写一个原型bind方法,来兼容ie低版本浏览器: bind方法一共做了三件事: 1.改变方法中的上下文 2.为方法传入实参 3.返回一个改变了上下文并且调用的时候传入指定的实参的新方法 因此,我们就照着这个思路,写一个Function的原型方法: if(!Function.prototype.…
今天这里写这个博客的主要目的是记录一下javascript原生的选择dom的集中方法. 1.document.getElementById.这个方法接收1个参数,就是DOM元素的id(区分大小写),这也是平时用的最多的方法,并且用这种方法DOM查找的效率是最高的,所以如果能用id查找的dom元素尽量用id来查询,返回的类型是DOM ELEMENT. 2.document.getElementsByTagName.这个方法接收1个参数,需要查询的元素标签(不区分大小写).返回的是一个 HTMLCo…
JavaScript 原生提供两个 Base64 相关的方法. btoa():任意值转为 Base64 编码 atob():Base64 编码转为原来的值 var string = 'Hello World!'; btoa(string) // "SGVsbG8gV29ybGQh" atob('SGVsbG8gV29ybGQh') // "Hello World!" 注意,这两个方法不适合非 ASCII 码的字符,会报错. btoa('你好') // 报错 要将非…
1.sort方法sort()方法使数组中的元素按照一定的顺序排列. 语法: arrayObject.sort(方法函数) 参数说明: 1.如果不指定<方法函数>,则按unicode码顺序排列. 2.如果指定<方法函数>,则按<方法函数>所指定的排序方法排序. myArray.sort(sortMethod); 注意: 该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字.比较函数应该具有两个参数 a 和 b,其返回值如下: 若返回值<=-1,则表示 A…
在现有的方法后插入一个新元素,你可能会想:既然有insertBefore方法,是不是也有一个相应的insertAfter()方法.很可惜,DOM没有提供方法.下面编写insertAfter函数,虽然DOM本身没有提供,但它确实提供了一个把一个节点插入到另一个节点之后所有工具.我们完全可以利用已有的DOM方法和属性编写一个insertAfter函数: <!DOCTYPE html> <html lang="en"> <head> <meta ch…
如今技术日新月异,各类框架库也是层次不穷.即便当年漫山红遍的JQuery(让开发者write less, do more,So Perfect!!)如今也有被替代的大势.但JS原生API写法依旧:并且有时候只不过小写一个Demo,或者产品中只有少量的前端效果或DOM操作,就去花时间&空间引入jQuery,或者React?不免有取宰牛之刀以杀鸡之嫌. 原文首链:http://www.jeffjade.com/2015/11/25/2015-11-31-jQuery-vs-javaScript/ 在…