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)的更多相关文章

  1. 前端开发面试题总结之——JAVASCRIPT(一)

    ___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...

  2. 前端开发面试题总结之——JAVASCRIPT(三)

    ___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...

  3. 前端开发面试题总结之——JAVASCRIPT(二)

    ___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...

  4. 前端开发面试题-JavaScript(转载)

    本文由 本文的原作者markyun 收集总结. 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol ...

  5. 前端开发面试题收集 JS

    前端开发面试题收集-JS篇 收集经典的前端开发面试题 setTimeout的时间定义为0有什么用? javascript引擎是单线程处理任务的,它把任务放在队列中,不会同步执行,必须在完成一个任务后才 ...

  6. 前端开发面试题总结之——HTML

    ______________________________________________________________________________________________ 相关知识点 ...

  7. 前端开发面试题总结之——CSS3

    ____________________________________________________________________________________________ 相关知识点 布 ...

  8. 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题

    ##2017.10.30收集 面试技巧 5.1 面试形式 1)        一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2)        面试官喜欢什么样的人 ü  技术好. ...

  9. 前端开发面试题-HTML(转载)

    本文由 本文的原作者markyun 收集总结了一些前端面试题,初学者阅后也要用心钻研其中的原理,重要知识需要系统学习.透彻学习,形成自己的知识链.万不可投机取巧,临时抱佛脚只求面试侥幸混过关是错误的! ...

随机推荐

  1. JS数组去重精简版

    看了很多人写的好几个去重方法,我在这里精简组合下,适用于已排序与未排序的数组. 废话不多说,上代码. <!DOCTYPE html> <html> <head> & ...

  2. C# 数组之List<T>

    一.引言 List<T>是ArrayList的泛型等效类,底层数据结构也是数组. 相比Array而言,可以动态的拓展数组长度.增删数据 相比ArrayList而言,由于声明的时候就已经规定 ...

  3. Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises) D

    Country of Metropolia is holding Olympiad of Metrpolises soon. It mean that all jury members of the ...

  4. DMA性能测试

    本程序主要用来计算DMA数据读写过程中所花费的总得时间周期,依据公式T=tStart+ceil(L/4)*2+ceil(L/256)*tTransform*2 因为tTransform是一个常量(通常 ...

  5. CSS3 - CheakBox 开关效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 开发工具~nuget配置本地源

    我们在本地部署了自己的nuget服务器,有时可以需要用到nuget restore命令去恢复包包,它会从下面的nuget.config里读你的配置源信息,就是在这里,我们要把内测的nuget服务器路径 ...

  7. 打war包时无法把src/main/java里的xml文件打包上去

    maven打包默认打src/mian/resource里面的xml,而不会去src/main/java,所以 再pom.xml里的bulid节点里加上 <resources> <re ...

  8. dubbo服务降级(1)

    1. 在 dubbo 管理控制台配置服务降级 上图的配置含义是:consumer 调用 com.zhang.HelloService 的方法时,直接返回 null,不发起远程调用. 实际操作是:在 z ...

  9. ajax请求拿到多条数据拼接显示在页面中

    首先我们拿到的了一坨Json数据 如下 然后通过ajax请求拿到数据 在ajax的success方法中处理和使用数据: 其中包括: 用eval处理这种数据 var outStr = eval('('+ ...

  10. Docker的下载安装以及简单使用

    Docker的简介 Docker是一个基于GO语言开发的应用容器,它是一款适合运维人员和后段开发人员学习的开源容器引擎.Docker容器可以让开发的应用或者依赖包存储其中,可以运行在任何的Linux ...