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高级学习历程-14

    昨天内容回顾 1. 面向对象的私有成员.静态成员 私有成员:在构造函数里边定义局部变量,就是私有成员. 静态成员:在js里边,函数就是对象,可以通过给函数对象声明成员方式声明静态成员. 2. 原型继承 ...

  2. Vue中登录模块

  3. 搞定C系语言的的swap

    http://www.cs.utsa.edu/~wagner/CS2213/swap/swap.html 原地址 Parameters, by value and by reference: Both ...

  4. Java怎么把一个.log文件,以text文件方式打开,显示在桌面

    总要有一个开始吧 群里面有一个哥们,问这个问题,索性记录下来, quextion: Java怎么把一个.log文件,以text文件方式打开,显示在桌面 anwser: 这里注意一个问题:拼接路径的时候 ...

  5. Linux操作学习笔记1

    Linux只有一个根目录/,所有的文件和设备都当成是文件进行管理: pwd 打印当前工作目录 (print working directory) whoami ls  列出当前目录面的文件 ls -l ...

  6. Codeforces Round #561 (Div. 2) C. A Tale of Two Lands

    链接:https://codeforces.com/contest/1166/problem/C 题意: The legend of the foundation of Vectorland talk ...

  7. Codeforces Round #527 -A. Uniform String(思维)

    time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...

  8. 《从0到1学习Flink》—— Flink 配置文件详解

    前面文章我们已经知道 Flink 是什么东西了,安装好 Flink 后,我们再来看下安装路径下的配置文件吧. 安装目录下主要有 flink-conf.yaml 配置.日志的配置文件.zk 配置.Fli ...

  9. Java 数字数组随机数工具类 NumberUtils、ArrayUtils、RandomUtils用法

    commons-lang3-3-3.8.1 //----------------------------------------------------------------------- /** ...

  10. MYSQL查询~ 存在一个表而不在另一个表中的数据

    A.B两表,找出ID字段中,存在A表,但是不存在B表的数据.A表总共13w数据,去重后大约3W条数据,B表有2W条数据,且B表的ID字段有索引. 方法一 使用 not in ,容易理解,效率低  ~执 ...