JavaScript
前端小白要fighting
这个作者很懒,什么都没留下…
展开
-
script元素的位置及defer、async属性
传统上,script元素应该放在页面的head元素中,但这意味着head元素中的js文件全部下载、解析和执行完成之后,才会开始呈现页面的内容,导致浏览器在呈现页面的时候出现延迟,所以,一般都把JavaScript文件放在body元素中页面内容的后面,即........备注:css文件加载不会阻塞DOM树解析,但是会阻塞DOM树渲染。关于css文件和JavaScript文件的引入原创 2017-12-11 13:01:07 · 278 阅读 · 0 评论 -
深入理解ES6——扩展对象的功能性
1. 对象字面量语法扩展属性初始值的简写:当一个对象的属性与本地变量同名时,不必再写冒号和值,简单的只写属性名即可。function Person(name, age){ return { name: name, age: age };}function Person(name, age){ return { name, age };}对...原创 2018-04-22 16:57:52 · 164 阅读 · 0 评论 -
深入理解ES6——字符串和正则表达式
1. ES6新增了codePointAt()方法,接受编码单元的位置而非字符位置作为参数,返回与字符串中给定位置对应的码位,即一个整数值。 与codePointAt()方法相反,String.formCodePoint()方法根据指定的码位生成一个字符。2. ES6新增normalize()方法,提供Unicode的标准化模式,接受一个可选的字符串参数,指明应用某种Unicode标...原创 2018-04-11 22:15:50 · 255 阅读 · 0 评论 -
深入理解ES6——函数
1. ES6中默认参数值对arguments对象的影响: 在ES5中非严格模式下,命名参数的变化会同步更新到arguments对象中,例如:function mixArgs(first,second){ console.log(first===arguments[0]); //true console.log(second===arguments[1]); //t...原创 2018-04-15 16:34:00 · 236 阅读 · 0 评论 -
前端的模块化开发
阮一峰的:(膜拜大牛,每次遇到不了解的知识总是先看他的日志有没有写类似问题,讲解的通俗易懂)Javascript模块化编程(一):模块的写法 http://www.ruanyifeng.com/blog/2012/10/javascript_module.htmlJavascript模块化编程(二):AMD规范 http://www.r转载 2017-12-27 20:30:56 · 176 阅读 · 0 评论 -
js的6道基础题(笔试常考题)
转载:http://www.bubuko.com/infodetail-20477.html题目一:找出数字数组中最大的元素var arr=[0,1,2,3,4,5,6,7,8,9];console.log(Math.max.apply(null,arr))题目二:转化一个数字数组为function数组(每个function都弹出相应的数字)for循环闭包的问题v转载 2017-12-17 16:38:53 · 1848 阅读 · 0 评论 -
js调试的5个技巧
转载:http://www.jb51.net/article/47812.htm1. debugger;我以前也说过,你可以在JavaScript代码中加入一句debugger;来手工造成一个断点效果。需要带有条件的断点吗?你只需要用if语句包围它:if (somethingHappens) { debugger;}2. 设置在DOM node发生变化时触转载 2017-12-17 10:22:59 · 263 阅读 · 0 评论 -
关于Ajax
Ajax的核心对象是:XMLHttpRequest对象。创建XMLHttpRequest对象:function getXhr(){ var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else{ xhr = new ActiveXObject('Microsoft.X原创 2017-12-15 15:44:37 · 185 阅读 · 0 评论 -
this的四种用法
转载:https://github.com/EdgarLovesProgramming/FE-Learningjavascript中this的指向有4种情况:1.作为普通函数调用: this指向全局对象2.作为对象方法调用: this指向该对象3.构造器调用: this指向构造器返回的对象4.Function.prototype.call 和 Function.prototyp转载 2017-12-14 10:51:28 · 445 阅读 · 0 评论 -
js的内存泄露
在我整个秋招面试的过程中,这个问题被问的次数能排前三。第一次被问的时候回答的不完整,不过面试官很好,有一步步的提醒我,再次感谢可爱的面试官。首先是内存泄露:可以理解为应用程序不再需要占用内存的时候,由于某些原因,内存没有被操作系统或可用内存池回收。然后是4中常见的内存泄露:1. 意外导致的全局变量:未定义的变量会变成全局变量2. 闭包:闭包创建后作用域是共享的,外层函数内创建的变量原创 2017-12-13 21:51:35 · 224 阅读 · 0 评论 -
将arguments转换成数组的方法
转载:https://www.cnblogs.com/AliceX-J/p/5400568.html将arguments转换成数组的方法将函数里的arguments,转换成一个真正的数组的方法,arguments是个类数组,除了有实参所组成的类似数组以外,还有自己的属性,如callee,arguments.callee就是当前正在执行的这个函数的引用,它只在函数执行转载 2017-12-11 16:01:55 · 579 阅读 · 0 评论 -
数值转换——Number()、parseInt()和parseFloat()
Number()函数的转换规则:1.如果是Boolean值,true和false分别转换为1和0。2.如果是数字,只是简单的输入输出。3.如果是null值,返回0。4.如果是undefined,返回NaN。5.如果是字符串,遵循以下规则: 5.1 如果字符串中只包含数字,则转换为十进制;(e.g. “123”——123,“011”——11) 5.2 如果字符原创 2017-12-11 14:26:57 · 268 阅读 · 0 评论 -
关于NaN的问题整理
typeof NaN; //number任何涉及NaN的操作都会返回NaN;NaN与任何值都不相等,包括NaN本身。NaN==NaN; //falseNaN===NaN; //false判断NaN的函数:isNaN();isNaN()也可以适用于对象,在基于对象调用isNaN()函数时,首先调用对象的valueOf()方法,然后确定该方法返回的值是否可以转换成数值,如果不能,则原创 2017-12-11 13:48:49 · 458 阅读 · 0 评论 -
读《JavaScript标准参考教程》——语法
1. JavaScript 程序的执行单位为行(line),也就是一行一行地执行。2. JavaScript 的变量名区分大小写,A和a是两个不同的变量。3. 变量的声明和赋值,是分开的两个步骤。如果只是声明变量而没有赋值,则该变量的值是undefined。4. JavaScript 是一种动态类型语言,也就是说,变量的类型没有限制,变量可以随时更改类型。5. JavaS...原创 2018-08-28 13:48:17 · 170 阅读 · 0 评论