1.js的基本类型有哪些?引用类型有哪些?null和undefined的区别。

  基础类型:number,null,regex,string,boolean

  引用类型 : object,function,array
  null是数据类型,undefined未定义

  

2.如何判断一个变量是Array类型?

  array:Object.prototype.toString.call(obj)  [object Array]

  

3.引用类型和基本类型的区别

  引用类型:堆内存,是二级缓存,保存一个指针,指向另一个内存,如果程序不结束或者没有手动释放,则不释放

  基本类型:栈内存,是一级缓存,由系统分配或者释放。

  

4.事件委托(手写例子)

<div id='parent'></div>
<script>
function delegate(dom,type,fn){
document.body.click(function(e){
if(e.target = dom){
fn(e)
}
})
}
<script>

  

5.对闭包的理解,闭包的优缺点?

  闭包:一个可以让外部访问的函数。消耗内存

  

6.改变this的几种方法?

  call , apply , bind

  

7.显式和隐式原型

  显式原型:prototype , Function是一个Object,Function有一个属性prototype,它是一个指针,指向一个对象。这个对象有construsctor属性

  隐式原型:_proto_ ,指向创建这个对象的函数的prototype,一个指针指向一个对象。

  

8.创建对象的多种方式

//字面量
var obj = {name:'test'} //构造函数
var obj = new Object({name:''})

  

9.实现继承的多种方式和优缺点

//原型链
function Parent(){
this.name=''
}
function Son(){}
Son.prototype = new Parent() //创建新对象
var son = Object.create(new Parent()) //call,apply
function Son(){
Parent.call(this,'')
} //es6
class Son extends Person{}

  

10.变量提升

    var  value = 1;
  var test = function(){
    console.log(value)
    var value = 2;
  }
  test()
  function test(){
    console.log(value+1)
  }
  test();
// undefined , undefined

  

11.匿名函数

(function(){
alert('test')
})()

  

12.NaN != NaN,false != null

13.new 一个对象的过程

function ClassName (option){
console.log(option)
}
ClassName.prototype.say=function(){} let obj = new ClassName({}) 1.创建一个对象,传入原型 lo = Object.create(ClassName.prototype)
2.执行当前函数,并且this执行 newObj = ClassName.call(o)
3. 返回新的对象 newObj

  

14.实现一个bing函数

//bings函数
Function.prototype.binds = function () {
var args = [].slice.call(arguments,1),target = arguments[0]
return this.apply(target,args)
}
function tesa(a,b) {
console.log(this,a+b)
return a+b
}
console.log(tesa.binds({a:1},1,2))

  

  

js部分基础的更多相关文章

  1. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  2. Node.js系列基础学习----安装,实现Hello World, REPL

    Node.js基础学习 简介 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一 ...

  3. css+js+html基础知识总结

    css+js+html基础知识总结 一.CSS相关 1.css的盒子模型:IE盒子模型.标准W3C盒子模型: 2.CSS优先级机制: 选择器的优先权:!important>style(内联样式) ...

  4. JavaScript基础精华02(函数声明,arguments对象,匿名函数,JS面向对象基础)

    函数声明 JavaScript中声明函数的方式:(无需声明返回值类型) function add(i1, i2) {             return i1 + i2;//如果不写return返回 ...

  5. JavaScript--我发现,原来你是这样的JS(基础概念--灵魂篇,一起来学js吧)

    介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第三篇(灵魂篇介绍),有着剩下的第三章的知识内容,当然其中还有我个人的理解.红宝书这本书可以说是难啃的,要看完不容易,挺厚的,要看懂 ...

  6. js复习--基础

    最近工作遇到了一些小困难,基础真的很重要,漫天高楼起于地. 一,script元素 包括type=“text/Javascript”,defer延迟到html加载完解析,src=“../../test. ...

  7. 第八节 JS运动基础

    运动基础 让Div运动起来 速度——物体运动的快慢 运动中的Bug 不会停止 速度取某些值会无法停止 到达位置后再点击还会运动 重复点击速度加快 匀速运动(速度不变) 运动框架及应用: 运动框架: 在 ...

  8. JS零基础一步一步做应用全记录

    1.起因 作为几个外卖重度依赖癌晚期患者,呆宿舍的时候几个人一起叫外卖已经是常事.偶然看到隔壁宿舍在饿了么订餐的时候,看到在饿了么的首页上有一个谁去拿外卖的一个小游戏/工具,感觉这个小细节,饿了么把握 ...

  9. 认识JS的基础对象,定义对象的方法

    JS的基础对象: 1.window       //窗口对象 2.document   //文档对象 3.document.documentElement      //html对象 4.docume ...

  10. 贰、js的基础(一)

    1.js的语法 a.区分大小写 b.弱类型变量:变量无特定类型 c.每行结尾的分号可有可无 d.括号用于代码块 e.注释的方法与c语言和java相同 2.变量 注意事项: a.通过关键字var来声明. ...

随机推荐

  1. ACM_括号匹配

    括号匹配(栈) Time Limit: 2000/1000ms (Java/Others) Problem Description: 给一组包含[]()两种括号的序列,检查是否是合法的. 如:()[] ...

  2. java 键盘输入多种方法

    转! 分类: java学习2012-11-04 09:58 8427人阅读 评论(1) 收藏 举报 一.java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象.常用的类有Buf ...

  3. jQuery学习笔记(1)-初探

    一.jQuery是什么 1.jQuery是一套JavaScript脚本库,而不是框架:就好比"System是程序集"是类库,而"ASP.NET MVC"是框架: ...

  4. 创建maven项目遇到的问题

    1.新建完成的maven项目,缺少src/main/java 解决方案:把项目中的jre换成eclipse中默认的jre. 另外还可以参考:解决Eclipse建立Maven项目后无法建立src/mai ...

  5. 华硕(ASUS)X554LP笔记本一开机就进入aptio setup utility 问题的解决

    某次因大意一直未插电,华硕(ASUS)X554LP笔记本后来没电关机.后来每次一开机就进入aptio setup utility界面,按F9调入默认配置,F10保存后退出,重启仍然进入aptio se ...

  6. Eclipse+JUnit+Selenium配置

    运行环境:Windows XP.Firefox.Firefox需要安装在标准路径下"C:\Program Files\Mozilla Firefox\firefox.exe",否则 ...

  7. oracle数据库过期

    本文转载自http://soft.chinabyte.com/database/6/12320006.shtml[来源:比特网 作者:悠虎] 由于Oracle11G的新特性所致,经常会遇到使用sqlp ...

  8. Codeforces_766_C_(dp)

    C. Mahmoud and a Message time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  9. CAD由一个自定义实体事件中的id得到自定义实体对象(com接口VB语言)

    由一个自定义实体事件中的id得到自定义实体对象.该函数只能在自定义实体事件中调用. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 ...

  10. java_IO_装饰器

    装饰器模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装. 这种模式创建了一个装饰 ...