前端开发面试题之JavaScript(转自公众号)(1)
js基本数据类型:Undefine Number Null Boolean String;
js内置对象:数据封装类对象:object、Array、Boolean、String;
其他:Function、 Arguement、Math、Date、RegExp、Error;
JavaScript的基本代码规范:
对字符串使用单引号;
使用对象字面量代替new Array()这种形式;
绝对不要在一个非函数块李声明一个函数,把那个函数赋给一个变量,浏览器允许你这么做,但是他们解析不同
不要使用全局函数;
总是使用var来声明变量,如果不这么做将导致产生全局变量,我们要避免污染全局命名空间;
switch语句必须有default分支;
语句结束加分好;
for——in循环中的变量应该使用var关键字明确限定作用域,从而避免作用域污染;
避免单个字符名,取名有意义;
驼峰命名规则;
当给事件附加数据时,传入一个哈希而不是原始值,这可以让后面的贡献者加入更多数据到事件数据里,而不用找出并更新那个时间的事件处理器;
JavaScript原型,原型链:每个对象都会在其内部初始化一个属性,就是prototype,当我们访问一个对象的属性时,如果这个对象内部不存在这个属性,那么就会去prototype找这个属性;这个prototype又会有自己的prototype,于是就这样一直找下去,也就是我们平时所说的原型链;
特点:JavaScript对象是通过引用来传递的,我们创建的每个新对象实体中并没有一份属于自己的原型副本,当我们修改原型时,与之相关的对象也会继承这一改变;
JavaScript有几种类型的值:栈:原始数据类型;堆:引用数据类型 引用数据类型在栈中存储了指针,该指针指向堆中该实体的首地址,当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中或的实体;
JavaScript实现继承:
(1)构造继承
(2)原型继承
(3)实例继承
(4)拷贝继承
原型prototype机制或apply和call方法实现比较简单,建议使用构造函数与原型混合方式
function parent(){
this.name="song";
}
function child(){
this.age="28";
}
child.prototype=new parent();
var demo=new child();
alert(demo.age+demo.name);
JavaScript创建对象的方式(使用内置对象或自定义对象):
对象字面量:person={name:‘jijie’,age:‘18’};
用function来模拟无参的构造函数
用function模拟带参的构造函数(用this关键字构造上下文属性)
用工厂方式来创建对象
var person=new person();
person.age=19;
person.name="ji";
用原型方式创建
function person(){}
person。prototype.name="ji";
person.protype.age=19;
用混合方式创建
function person(name,age){
this.age=19;
this.name=“ji”}
person。prototype。event=function(){}
eval功能:把对应的字符串解析成js代码并执行,应该避免使用eval不安全,耗性能;
null表示对象被定义了值为空,undefined表示不存在这个值;
前端开发面试题之JavaScript(转自公众号)(1)的更多相关文章
- 前端开发面试题总结之——JAVASCRIPT(一)
___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...
- 前端开发面试题总结之——JAVASCRIPT(三)
___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...
- 前端开发面试题总结之——JAVASCRIPT(二)
___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...
- 前端开发面试题-JavaScript(转载)
本文由 本文的原作者markyun 收集总结. 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol ...
- 前端开发面试题收集 JS
前端开发面试题收集-JS篇 收集经典的前端开发面试题 setTimeout的时间定义为0有什么用? javascript引擎是单线程处理任务的,它把任务放在队列中,不会同步执行,必须在完成一个任务后才 ...
- 前端开发面试题总结之——HTML
______________________________________________________________________________________________ 相关知识点 ...
- 前端开发面试题总结之——CSS3
____________________________________________________________________________________________ 相关知识点 布 ...
- 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题
##2017.10.30收集 面试技巧 5.1 面试形式 1) 一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2) 面试官喜欢什么样的人 ü 技术好. ...
- 前端开发面试题-HTML(转载)
本文由 本文的原作者markyun 收集总结了一些前端面试题,初学者阅后也要用心钻研其中的原理,重要知识需要系统学习.透彻学习,形成自己的知识链.万不可投机取巧,临时抱佛脚只求面试侥幸混过关是错误的! ...
随机推荐
- jsp网站访问次数统计
JSP 点击量统计 有时候我们需要知道某个页面被访问的次数,这时我们就需要在页面上添加页面统计器,页面访问的统计一般在用户第一次载入时累加该页面的访问数上. 要实现一个计数器,您可以利用应用程序隐式对 ...
- 00 | Two Sum
Question Given an array of integers, return indices of the two numbers such that they add up to a sp ...
- Maven入门 项目的生命周期&pom.xml配置&仓库
- Java基础笔记(四)——命名规则、数据类型
标识符即Java程序中需要自定义的名称,如变量名.方法名.类名.包名.工程名等. 标识符的命名规则: 1.可由字母.数字.下划线(_)和美元符($)组成,不能以数字开头. 2.严格区分大小写. 3.不 ...
- BZOJ3622(容斥+dp)
思路 "恰k个"考虑求至少k.k+1--个容斥 题面说所有数字都不同,可以将所求转化为糖比药多的组数恰为\((n+k)/2\)的方案数 \(f[i][j]\)数组我觉得更好的理解方 ...
- JavaScript 中Array数组的几个内置函数
本文章内容均参考<JavaScript高级程序设计第三版> 今天在看JavaScript书籍的时候,看到之前没有了解过的JavaScript中Array的几个内置函数对象,为了之后再开发工 ...
- nginx一个简单的反向代理设置
location /aaaaa/ { proxy_pass http://localhost:8080/aaaaa/; } 经过配置,现在访问 http://localhost/aaaaa/ 就会 ...
- jQuery 数字滚动插件
这几天闲来没事写的,有不对的地方还请多多指点 CSS: ; padding:0 2px;} .digital-beating i {;; background:url(../images/icon_0 ...
- VS连接Access数据库--连接字符串及执行查询语句的方法(增删改查,用户名查重,根据用户获取密码查询)
ACCESS数据的连接及语句执行操作,不难,久不用会生疏,每次都要找资料,干脆自己整理下,记录下来,需要的时候,直接查看,提高效率.也供初学者参考 1.连接字符串 public static stri ...
- Random类、ThreadLocalRandom类
Random和ThreadLocalRandom类均用于生成伪随机数. Random的构造函数: Random() 默认以系统当前时间为种子,相当于Random(System.currentT ...