纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

javascript函数进阶 javascript之函数进阶详解

维生素D没有用   2021-12-02 我要评论
想了解javascript之函数进阶详解的相关内容吗维生素D没有用在本文为您仔细讲解javascript函数进阶的相关知识和一些Code实例欢迎阅读和指正我们先划重点:javascript函数,javascript函数进阶下面大家一起来学习吧

函数定义方式

function fn(){}//命名函数
 
var fun=function(){}//匿名函数
 
// new fn=new Funcion("参数1","参数2","函数体"),很少用
//所有函数都是Function的实例对象(函数也是对象)
var fn=new Funcion("a","b","console.log(a+b)")
console.log(fn instanceof Object)//true

函数的调用(6种)

 

 

 

this指向问题

1.普通函数:window

2.对象方法:实例对象obj1

3.构造函数:实例对象原型对象里面的this指向的也是 ldh这个实例对象

4.绑定事件函数:事件的调用者button1

5.定时器:window

6.立即执行函数:window

改变函数内部this指向:call()apply()bind()

 

 

 如果有的函数我们不需要立即调用,但是又想改变这个函数内部的this指向此时用bind

 

 

严格模式

 为整个脚本开启或为函数开启:“use strict”;

 严格模型的语法规范:

1.变量使用前必须声明

2.我们不能随意删除已经声明好的变量

3.严格模型下的全局作用域中函数中的this是undefined

4.构造函数不加new调用this指向undefined给undefined赋值会报错(以前指向window相当于给window添加属性了)

5.定时器this还是指向window 事件、对象还是指向调用者

6.参数不能重名 

7.函数必须声明在顶层.新版本的JavaScript 会引入“块级作用域”(ES6 中已引入)为了与新版本接轨不允许在非函数的代码块内声明函数

高阶函数

定义:高阶函数是对其他函数进行操作的函数它接收函数作为参数(回调函数)或将函数作为返回值输出

闭包

闭包( closure )指有权访问另一个函数作用域中变量的函数简单理解就是一个作用域可以访问另外一个函数内部的局部变量

闭包的作用:延伸变量的作用范围

闭包练习:

已知:绑定事件、定时器都是异步操作不会立即执行

(function(i){...})(i) 立即执行函数会立即执行参数传给尾部的小括号function里面的小括号会再次接收这个参数立即执行函数也称作小闭包里面的所有函数都可以访问它内部变量

(1)点击输出当前索引号(面试常见)

 (2)延迟三秒输出<li>中内容 

 (3)

 

 闭包的思考:

 

递归:函数里面调用自己需要有结束条件

深拷贝与浅拷贝:

1.浅拷贝:只拷贝最上面一层深层的对象只拷贝了地址所以原深层数据改变会引起拷贝过来的深层数据改变

Object.assign(objNew,objOld)

2.深拷贝:把所有深层数据值全部拷贝到新对象里面新旧两个对象的数据修改互不影响


相关文章

猜您喜欢

  • Python 设计办公工具 Python实战之设计一个多功能办公小工具

    想了解Python实战之设计一个多功能办公小工具的相关内容吗编程简单学在本文为您仔细讲解Python设计办公工具的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Python设计工具,Python设计办公工具下面大家一起来学习吧..
  • HTTP协议详解 详细讲解HTTP协议工作方式

    想了解详细讲解HTTP协议工作方式的相关内容吗爱文飞翔在本文为您仔细讲解HTTP协议详解的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Http,协议下面大家一起来学习吧..

网友评论

Copyright 2020 www.eleasoftware.com 【绿软下载站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式