一,函数·关键字(function)
复习
var·js关键字。用于声明变量。生命在内存模块完成,定义(=)在执行模块完成。
var(可以在内存模块提前完成,所以有变量提升的功能。
function也是js的关键字,用于声明和定义函数的。声明和定义都在内存模块完成。
function也是在内存模块提前完成,所以有函数提升这个功能。
变量提升和函数提升,都是预解释。都是浏览器的。
例如
console.log(b)//undefined()
console.log(a)//is not defined(a没有var,不存在变量提升 不会在内存模块出现)
a=2
var b=2
二,函数的定义 函数:具有一定功能的代码块。
语法通过function定义的,function后跟的是函数名
结构语法
function fn(){

}
内存模块只存var的变量名,而function存在整个代码块,因为声明和定义是同时完成的。
注意事项:
function fn(可有可无,有的是有名函数,没有的 是匿名函数)()(小括号必须有,里面放参数){

}(大括号必须有)
函数定义:通过function定义···function fn(){}
函数定义方式:
1.声明式定义 function fn(){}
2.表达式式声明
as()
var as=function(){

}
(会出现 as is not a function
原因是as是一个变量而不是函数)
3.自调用
定义和调用同时完成
(function fn(){
console.log()
})()
~function(){console.log()}
+function(){console.log()}
-function(){console.log()}
!function(){console.log()}
/* 4.通过对象的形式·····var as=function(){} */
函数调用:函数名+()·······fn()
函数最大的优势 会形成一个独立的模块,可以按需使用,也可重复使用;
按需使用 可以提升性能 重复使用 减少代码冗(rong,三声) 余;
函数调用的过程
函数执行时会形成一个私有作用域 最大的作用域是window(全局作用域)(共有作用域)
当私有作用域和共有作用域上的变量存在了相同的函数会使用自身的变量。自身没有时回向上级作用域查找指到window作用域

作用域链:函数内部的变量被使用时,首先会在自己的私有作用域中查找是否有着一个变量;有就是用,没有就向上级查找直到window
如果没有就是undefined
函数归属谁,跟他在哪调用没有关系,而是在哪定义有关。
函数递归:函数内部自己调用自己
例如:
Break和continue运算:
Break:终止当前程序;
continue:跳出当前程序,执行下一步;
递归求和:

var a=1;
var sum=0;
function fn(){
sum=sum+a;
a++;
console.log(sum)
if(a>=11){
return
}
fn()
}
fn()

js入门关于函数的更多相关文章

  1. js入门之函数

    一. 函数 函数可以封装一段特定功能的代码,然后通过函数名可以重复调用 1 .函数的定义 funcation 函数名 (){ 函数体 } 函数名() 调用函数 2. 函数的参数 funcation f ...

  2. React.js入门笔记

    # React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...

  3. React Native 系列(一) -- JS入门知识

    前言 本系列是基于React Native版本号0.44.3写的,最初学习React Native的时候,完全没有接触过React和JS,本文的目的是为了给那些JS和React小白提供一个快速入门,让 ...

  4. 以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明

    以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明 为了让你的Ðapp运行上以太坊,一种选择是使用web3.js library提供的web3.对象.底层实 ...

  5. 【JavaScript】——JS入门

    结束XML之旅,開始JavaScript的学习,看视频.了解了她的前世今生,还是为她捏了把汗啊! 看了部分视 频了,简单的总结一下吧! JavaScript是什么? JavaScript是一种基于面向 ...

  6. App开发Native.js入门指南

    概述 Native.js技术,简称NJS,是一种将手机操作系统的原生对象转义,映射为JS对象,在JS里编写原生代码的技术.如果说Node.js把js扩展到服务器世界,那么Native.js则把js扩展 ...

  7. d3.js 入门指南 - 仪表盘

    D3的全称是Data-Driven Documents(数据驱动的文档),是一个用来做数据可视化的JavaScript函数库,而JavaScript文件的后缀通常为.js,所以D3被称为D3.js. ...

  8. Vue.js 入门:从零开始做一个极简 To-Do 应用

    Vue.js 入门:从零开始做一个极简 To-Do 应用 写作时间:2019-12-10版本信息:Vue.js 2.6.10官网文档:https://cn.vuejs.org/ 前言  学习 Vue ...

  9. 《Three.js 入门指南》3.1.2 - 一份整齐的代码结构以及使用ORBIT CONTROLS插件(轨道控制)实现模型控制

    3.1.2 正式代码结构 & ORBIT CONTROLS插件(轨道控制) 说明 本节内容属于插入节,<Three.js入门指南>这本书中,只是简单的介绍了一些概念,是一本基础的入 ...

随机推荐

  1. Java 平时作业五

    使用 I/O 流和文件对象实现目录备份功能. package asg5; import java.io.File; import java.io.FileInputStream; import jav ...

  2. winform devexpress 用法汇总

    废话不多说先上图 1.封装分页控件 qrcodeOnPage1.SearchData(gridControl2, IDataPage, sWhere, "", "tb_o ...

  3. element ui 手动关闭$notify弹框

    1.需求: 当用户点击 “点击下载” 后,文件导出这个弹框主动消失. 2.解决方案: 如下图所示 (需要注意的是这里的关闭是 点击弹框任意处就会关闭,如果想实现我的需求需要判断一下即可)

  4. C语言求1-1/3+1/5-1/7+...——小程序,大道理

    问题:用C语言编写程序求1-1/3+1/5-1/7+... 示例: #include <stdio.h> void main(){ ; ,a=; ){ sum=sum+n/a; n=-n; ...

  5. position的四个属性值

    1.relative2.absolute3.fixed4.static下面分别讲述这四个属性. <div id="parent"> <div id="s ...

  6. 学习Git笔记(更新中)

    参考网址:https://blog.csdn.net/zmx729618/article/details/52174373 跟着练习一下,写的很好. Git:是一个分布式版本控制系统. GitHub: ...

  7. Python小白绘图 哆唻A梦 turtle真的很强大!

    # -*- coding: utf-8 -*- """ Created on Sat Nov 10 22:02:32 2018 @author: 10029 " ...

  8. SQL设置时间格式

    SELECT STR_TO_DATE('Jul 20 2013 7:49:14:610AM','%b %d %Y %h:%i:%s:%f%p') from DUAL; -- 执行后得到结果:'2013 ...

  9. 大学生对vivo手机的看法

  10. IOS 生成静态库文件(.a文件)

    http://www.cnblogs.com/lyy-5518/p/5459643.html