1,什么是命名空间,变量污染,变量声明提升?如何检查一段代码执行后是否声明了全局变量?2,隐式转换的种种规则3,关于对象,对象的属性可能有哪些特性(attribute)?什么是原型链?如何检测某一属性是在对象中还是原型链中?如何检测是否是普通对象或空对象?写一个工厂模式?(工厂模式也有很多细节,具体可以参考《javascript模式》一书,不是《javascript设计模式》)4,变量类型检测、特性检测以及异常避免5,setTimeout的特性...
问题:1.说一下对变量提升的理解2.说明this几种不同的使用场景3.如何理解作用域4.实际开发中闭包的应用知识点:js没有块级作用域只有函数和全局作用域,如下代码:if(true){var name=‘killua‘ //把name定义在块里和放在外面是一样的,等同于在外面声明一个变量name,在块内给name赋值}//同等于下面的代码//建议用下面方式写var nameif(true){name=‘killua‘}console.log(name) //打印出来killua//函数和全局作用域var a=100 //定...
JavaScript中如何检测一个变量是一个String类型?请写出函数实现typeof(obj) === "string"typeof obj === "string"obj.constructor === String请用js去除字符串空格?方法一:使用replace正则匹配的方法去除所有空格: str = str.replace(/\s*/g,""); 去除两头空格: str = str.replace(/^\s*|\s*$/g,"");去除左空格: str = str.replace( /^\s*/, “”);去除右空格: str = str.replace(/(\s*$)/g, "");str为要去除空格的字符串...
1.引入的两种方式:直接在标签里行内js,在body最下端引入。2.变量的5种类型:number,string,boolean,null,undefined以及一种特殊类型:object3.变量命名:不能用数字开头,只能用$ _ 和字母,不能使用关键字保留字,不能使用中文和特殊符号。如果命名 重复会覆盖,命名尽量要语义化(命名所做的工作),使用驼峰命名法.4.种类型转换:Number();parseInt();parseFloat();Boolean();String();5.算数运算符:+ - * / %6.逻辑运算符:&& |...
一、变量>的学习' ref='nofollow'>JavaScript思维导图之<变量>的学习函数基础> ' ref='nofollow'>二、 JavaScript思维导图之<函数基础> 三、JavaScript思维导图之<基本dom操作> 四、JavaScript思维导图之<流程语句>五、数组>' ref='nofollow'>JavaScript思维导图之<数组> 六、 JavaScript思维导图之<运算符> 七、正则表达式>' ref='nofollow'>JavaScript思维导图之<正则表达式>八、JavaScript思维导图之<字符串函数>转载来...
JavaScript中this关键词的指向1.如果在对象里面使用:指向这个对象2.在构造函数中使用:指向当前对象(跟上面一个指向)3.普通函数中使用:this指向全局对象(无论在普通函数中嵌套多少层)4.DOM元素绑定事件:this指向绑定事件的元素 localStorage,sessionStorage的区别1.localStorage:没有时间限制的本地储存,除非主动删除数据,否则永远不会过期。无视当前会话,在同一个域中被共享使用2.sessionStorage:针对session的数据...
? JS易错知识点总结: == 和 === 的区别:==:判断两个变量的值是否相等。 ===:判断两个变量的类型和值是否都相等,两个条件同时满足时,表达式为True。 switch中break的作用: 如果一个case后面的语句,没有写break,那么程序会向下执行,而不会退出;例如:当满足条件的case 2下面没有break时,case 3也会执行 1var num = 2;2switch(num){3 case 1:4 alert(‘case 1‘);5 break;6 case 2:7 al...
学习JavaScript你必须掌握的8大知识点!一、JavaScript思维导图之<变量>的学习函数基础> ' ref='nofollow'>二、 JavaScript思维导图之<函数基础> 三、JavaScript思维导图之<基本dom操作>四、JavaScript思维导图之<流程语句>五、JavaScript思维导图之<数组> 六、 JavaScript思维导图之<运算符> 七、JavaScript思维导图之<正则表达式>八、JavaScript思维导图之<字符串函数>原文:https://www.cnblogs.com/aiwuxia/p/9419592.ht...
JavaScript模块化历程JavaScript发展变迁大概是一下几个步骤:工具(浏览器兼容)组件(功能模块)框架(功能模块组织)应用(业务模块组织)但是经过了长长的后天努力过程JavaScript不断被类聚抽象,以更好的组织业务逻辑。从另一个角度而言,他也道出了JavaScript先天就缺乏的一项功能:模块虽然W3C组织对HTML5规范推进以及各大厂对规范的大力支持,但是对于JavaScript本身而言,它的规范依然是薄弱的,它还有以下缺陷:没有标准...
数组属性: arr.length;查看数组的长度 arr.Pop;删除数组最后一个元素;数组的方法: arr.push();添加到数组末端; arr.shift();删除数组的第一个元素; arr.unshift();在数组最前面添加一个元素; arr.jojn();将得到的所有元素转换成字符串; arr.reverse();颠倒数组元素的位置; arr.slice(i,j);获取从i到j的数组,不改变原数组; i为开始截取的索引值,负数代表从末尾算起的索引值,-1为倒数第一个字...
第一章 javascript简介javascript的简介,有关js的一些历史问题。js初期在不同的浏览器存在很大的兼容问题,但是慢慢的大家都在向标准靠拢,兼容问题已经好很多了。我们通常会听到ECMAScript,它跟javascript是什么关系呢?JS = ES + BOM(浏览器对象模型) + DOM(文档对象模型) ES就是对javascript的类型,值,对象,属性,函数以及程序句法和语义,DOM就是ES运行在浏览器环境的时候,浏览器为其提供的扩展以实现更多更具体的功能(w...
一,ES2015(ES6)新增了两个声明变量的关键字:let、constlet:只在代码块内{}有效,不可重复声明,不会提前初始化1.只在代码块内有效{let a = 1; var b = 2; } console.log(b); console.log(a);//输出a会报错 因为let声明只在代码块内有效2.不可重复声明 let a = 1; let a = 2;//报错Uncaught SyntaxError: Identifier ‘a‘ has already been declared3.不会提前初始化console.log(b);//undefinedvar b = 2; console.log(a);/...
JavaScript 语言基础知识点总结 原文:http://www.cnblogs.com/yangjj1216/p/4428710.html
1、万物皆对象;所有的属性和方法都隶属于window document.getElementById(‘id‘) = window.document.getElementById(‘id‘) 获取浏览器可视区域的万能方法 var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; window对象 window.open() - 打开新窗口 window...
原文:http://www.cnblogs.com/yzybc/p/5737150.html