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. Ubuntu 16.04 实现有线 无线同时用

    因为工作的原因,经常会用有线网卡连接服务器进行配置,无线网卡上外网. 一.查看当前网关信息 pipci@ubuntu:~$ ip route showdefault via 192.168.2.1 d ...

  2. BZOJ2668: [cqoi2012]交换棋子(费用流)

    Description 有一个n行m列的黑白棋盘,你每次可以交换两个相邻格子(相邻是指有公共边或公共顶点)中的棋子,最终达到目标状态.要求第i行第j列的格子只能参与mi,j次交换. Input 第一行 ...

  3. 分享《Python 游戏编程快速上手(第3版)》高清中文版PDF+高清英文版PDF+源代码

    通过编写一个个小巧.有趣的游戏来学习Python,通过实例来解释编程的原理的方式.14个游戏程序和示例,介绍了Python基础知识.数据类型.函数.流程控制.程序调试.流程图设计.字符串操作.列表和字 ...

  4. PHP保留两位小数

    1.不四舍五入 $number = 23.43453;$english_format_number = number_format($number, 2, '.', '');echo $english ...

  5. ASP.NET通过JavaScript实现Button 的Enabled=false

    正常代码控制无法满足需求,所以记录一下方法: <input id="Button5" onclick=" CX()" type="button& ...

  6. 小白学开发(iOS)OC_ SEL数据类型(2015-08-10)

    // //  main.m //  SEL数据类型 // //  Created by admin on 15/8/12. //  Copyright (c) 2015年 admin. All rig ...

  7. java.lang.IllegalArgumentException: The observer is null.终于解决方式

    java.lang.IllegalArgumentException: The observer is null.终于解决方式 在使用数据适配的时候的问题: java.lang.IllegalArgu ...

  8. HDU 2886 Lou 1 Zhuang

    思维好重要.. 对于n+m == k , 当n == m || abs(n-m) == 1 时n*m取得最大值. 设 s = x*(l-x),s = lx-x^2.其导函数为 s' = -1/2x + ...

  9. adb-端口被占用解决办法(win)

    今天在window下使用adb的时候,提示我说5037端口被占用. * daemon not running. starting it now on port * ADB server didn't ...

  10. Sublime10个经常使用插件

    10. Package control Package control是必装插件,全部其它的插件和主题都能够通过它来安装. 希望它能出如今正式版默认包中. 首先參照以下的教程来安装Package Co ...