021、定义函数的几种方式
 
1、关键字函数:function fnName(){};
 
2、字面量函数:var fn = function(){};
 
3、构造函数:var fn = new Function()
 
022、函数的作用
 
1、减少代码的编写(代码重复利用)
 
2、隐藏处理细节,便于今后的修改和维护
 
3、控制执行时机
 
023、谈谈你对参数的理解
 
1、参数分为:形参和实参
 
2、有了参数以后可以使函数变的更加灵活
 
3、形参和实参要一一对应
 
4、如果对应的形参没有传值,那么值是undefined
 
 
024、什么是作用域链?
 
1、简单说就是作用域集合  当前作用域 -> 父级作用域 -> ... -> 全局作用域   形成的作用域链条
 
全局作用域的变量和方法都可以进行调用
 
局部的变量和方法只能局部进行调用( 除闭包外 )
 
局部可以访问全局的变量和方法
 
025、console.log与console.dir的区别
 
console.log()可以取代alert()或document.write(),在网页脚本中使用console.log()时,会在浏览器控制台打印出信息。
 
console.dir()可以显示一个对象所有的属性和方法。
 
026、谈谈你对arguments的了解
 
1、函数内部自带的一个对象
 
2、存储的是所有的实参
 
3、可以使用[]及下标访问arguments中的内容   arguments[0]  访问第一个实参
 
4、可以使用 arguments.length 确定传入实参的个数
 
5、最常用的用途: 判断传入参数的个数(根据参数个数做不同的事情)
 
 
027、请说一下js的编译和执行
 
1、js的预编译:
     a、把var 和 function 定义的变量提升到script的最上方
     b、赋值语句不会被提升,哪怕等号后面是一个function
2、js执行:代码从上往下执行
 
028、简单的阐述一下js的变量声明提升
 
变量声明和函数声明从他们代码中出现的位置被移动到执行环境的顶部,这个过程就叫做提升  只有声明操作会被提升,赋值和逻辑操作会被留在原地等待执行
 
Js编译器会把变量声明看成两个部分分别是声明操作(var a)和赋值操作(a=2)
 
背会!!!!递归与循环的区别
 
递归算法:
 
优点:代码简洁、清晰,并且容易验证正确性。
 
缺点:
1、它的运行需要较多次数的函数调用,如果调用层数比较深,每次都要创建新的变量,需要增加额外的堆栈处理,会对执行效率有一定影响,占用过多的内存资源。
2、递归算法解题的运行效率较低。在递归调用的过程中系统为每一层的返回点、局部变量等开辟了栈来储存。递归次数过多容易造成栈溢出等
 
注意:递归就是在过程或函数里调用自身;使用递归策略时要注意的几个条件
1、必须有一个明确的递归结束条件,称为递归出口。
2、递归需要有边界条件、递归前进段和递归返回段。
3、当边界条件不满足时,递归前进。当边界条件满足时,递归返回。
 
循环算法:
 
优点:速度快,结构简单。
 
缺点:并不能解决所有的问题。有的问题适合使用递归而不是循环。如果使用循环并不困难的话,最好使用循环
 
029、创建数组的几种方式
 
三种方式:
1、var arr = new Array();
2、var arr = Array
3、var arr = [];
 
030、如果判断一个对象是不是另一个对象创建出来的
 
数组.instanceof Array

原生js大总结三的更多相关文章

  1. 原生js大总结九

    81.ES6的Symbol的作用是什么?   ES6引入了一种新的原始数据类型Symbol,表示独一无二的值   82.ES6中字符串和数组新增了那些方法   字符串       1.字符串模板    ...

  2. 原生js大总结十

    91.ajax的优点     a.提高运行效率   b.提高用户体验,让多件事情同时发生   c.在不刷新页面的情况下可以对局部数据进行加载和刷新       92.ajax请求的流程   1.创建通 ...

  3. 原生js大总结二

    011.if语句的优化   1.把次数多的条件和执行结果放到最前面   2.减少第一次无用的判断,可以用嵌套判断   3.判断语句禁止出现三次嵌套     012.谈谈你对switch的理解   1. ...

  4. 原生js大总结八

    071.如何组织事件冒泡   利用事件对象属性:stopPropagation 和 cancelBubble   stopPropagetion是一个方法:e.stopPropagetion();   ...

  5. 原生js大总结十一

    101.请简述prototype.__proto__ constructor三者的关系   1.prototype:     每一个函数都有一个prototype这个属性,而这个属性指向一个对象,这个 ...

  6. 原生js大总结六

    051.如何打印当前浏览器的版本等信息   navigator.userAgent   返回包含浏览器版本等信息的字符串 ,常用于判断浏览器版本及使用设备(PC或者移动端   052 .在浏览器地址栏 ...

  7. 原生js大总结七

    061.如何获取父级节点.上一个子级节点.下一个子级节点    nextElementSibling  后一个兄弟元素  (如果没有是null)    previousElementSibling   ...

  8. 原生js大总结四

    031.数组常用的一些方法   1.push: 在数组最后添加一个或者多个元素,返回添加后数组的长度   2.pop: 从数组最后取出一个元素,返回的是数组的最后一个元素(取出的元素)   3.uns ...

  9. 原生js大总结五

    041.在js中如何用方法将10进制的字符转换成16进制和8进制   数字.toString(16) 数字.toString(8)     042.如何创建时间对象   new Date()   04 ...

随机推荐

  1. Flex3中addEventListener()方法使用详解

    Flex控件对象.RemoteObject等都有一个共同的方法addEventListener. 方法详细信息: 来源于:flash.events.EventDispatcher类 addEventL ...

  2. 【Docker自定制镜像之Dockerfile】

    镜像的定制,就是定制每一层所添加的配置.文件,如果可以把每一层修改.安装.构建.操作的命令都写入到一个脚本中,用脚本来构建.定制镜像,这个脚本就是Dockerfile Dockerfile是一个文本文 ...

  3. Windows 一键关闭UAC、防火墙、IE配置脚本

    有时候,在环境需求下,需要关闭windows防火墙,UAC,以及IE选项配置. 对不懂电脑来说是比较麻烦的,老是得教他们,关键还记不住…… so,以下脚本就可以解决这个问题 注:脚本 需要右键 以管理 ...

  4. 使用scatter画散点图

    刚开始接触Python,照着例子写的代码,百度注释的. from numpy import * import matplotlib import matplotlib.pyplot as plt im ...

  5. 【Henu ACM Round #13 F】Fibonacci-ish

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 枚举序列的头两个数字是什么 O(N^2) 然后头两个数字确定之后. f[3],f[4]..就确定了 只需查看f[3],f[4]..是 ...

  6. PatentTips - Device virtualization and assignment of interconnect devices

    BACKGROUND Standard computer interconnects, particularly for personal computers or workstations, may ...

  7. 负载均衡(LB)具体解释

    二.LB LoadBalance就是把负载均衡分配到集群的各个节点,从而提高总体的吞吐能力.Oracle 10g RAC提供了两种手段来实现负载,其一是通过Connection Balancing.依 ...

  8. 洛谷P2192 HXY玩卡片

    题目描述 HXY得到了一些卡片,这些卡片上标有数字0或5.现在她可以选择其中一些卡片排成一列,使得排出的一列数字组成的数最大,且满足被90整除这个条件.同时这个数不能含有前导0,即0不能作为这串数的首 ...

  9. 【深入篇】Android常用布局方式简介

    LinearLayout 线性布局是程序中最常见的布局方式.一般分为水平线性布局和竖直线性布局,通过android.orientation属性可以设置线性布局的方向. 在布局中操作颜色时,要用的是十六 ...

  10. Mvc异步

    <h3>MVC 自带的yibu请求</h3> <%-- 1.要执行的方法,2.控制器,3.Ajax操作--%> <%using (Ajax.BeginForm ...