变量

一、什么是变量?

所谓的变量,它其实编程中的一个专业术语。目前就可以理解成一个容器,它里面是用来放东西的。一般来讲它由两部分构成:变量名和变量值。

//我们来创建一个变量var a = 110;
//在这行代码中,,var是声明变量的关键字,a是变量名,110是变量值,=是赋值运算符。
//在声明变量的过程中注意:js中可以一次性声明多个变量:var a = 110,b = 120,c = 130;
//同样js中可以重复声明,var a = 10,var a = 11.var a = 12;
//在实际开发中不要这样使用。
复制代码

二、深入理解变量

1、全局变量与局部变量

全局和局部是指变量的生效范围。类比于普通话与方言。局部变量是声明在函数中的变量,全局变量是声明在函数外面的变量,如下:

<script>function f (){var a= 110,//a就是局部变量,}var b = 111;//b是全局变量
</script>
复制代码

另外注意一点,加var的变量可以做全局变量也可以做局部变量,没有加var的变量只能做全局变量

2、变量的提升

在函数中,带var的变量,都有提升的能力。提升后,会被提升到函数内部的第一行,如下:

3、变量的作用域

在JS变量的作用域只有两种:一种局部作用域,另一种是全局作用域,在JS是没有块级作用域。 全局作用域是指在函数外面的作用域,局部作用域是指函数内部的作用域。

函数

一、什么是函数?

在js中函数是非常重要的概念,数就是一个功能块,给一个输入,通过一个关系,会得到一个输出。它的作用是作为构造器封装一些代码,用于生成对象。 在js中,定义函数有两种方式:函数声明,函数表达式。

//第一种声明一个函数,用关键字function
function f(){
//f是函数名,括号里放函数的形参
alert(“helloworld”};
f();
//调用函数里放实参。
//第二种函数表达式
var f =function (){alert(“hello world”);
}
f ();
复制代码

函数参数分:形式参数(形参)和实际参数(实参)。函数调用的过程就是实参向形参赋值的一个过程。在函数体中,对形参的操作,说白了就是对实参的操作。 另外前面说过,函数就是一个功能块,对于这个功能块,我可以给这个功能块提供原材料,有时候,我们也需要功能块,给我返回一个结果,这个时候就涉及到了函数的返回值。如下

function f() {return 666}console.log(f());
复制代码

在一个函数中,执行到retrun语句时,后面的代码就不再执行了,如下:

二、函数的深入学习

1、函数的传参

(1)基本数据类型的参数传递

`var x = 1;function f (a){a = 2;}f(x);console.log(x);//打印结果为1复制代码

(2)引用数据类型的参数传递

小结:

  • 函数的形参可以理解成在函数内部声明的一个局部变量。
  • 所有的参数传递,传递都是栈区中的值。
  • 对于基本数据类型的参数传递,是真正把数据复制一份传递给了形成。
  • 对于引用数据类型的参灵敏传递,传递仅仅是堆区数据的地址。

2、函数返回多个值

//能不能使用一个函数就得到两个数中的最大值,最小值,平均值。
<script>function f(x,y){var arr=[];var max = x>y?x:y;arr[0]=max;var min = x<y?x:y;arr[1]=min;var avg = (x+y)/2;arr[2]=avg;return arr;}f(1,2);console.log(f(1,2));</script>//以输出数组的方法就可以使一个函数返回多个值。
复制代码

3,当函数的参数是另一个函数

这个计算过程的参数传递如下图所示:

转载于:https://juejin.im/post/5ce666086fb9a07ea94448b2

javascript中变量和函数的使用相关推荐

  1. JavaScript中的工厂函数vs构造函数vs class

    原文链接:JavaScript Factory Functions vs Constructor Functions vs Classes 作者:Eric Elliott 译者:sunny 转载需提前 ...

  2. 理解javascript中的回调函数(callback)【转】

    在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Object类的对象一样用于内置对象的管理.因为function实 ...

  3. 深入认识javascript中的eval函数

    来源:http://wanyij.blog.51cto.com/46570/43794 发现为本文起一个合适的标题还不是那么容易,呵呵,所以在此先说明下本文的两个目的: (1)介绍javascript ...

  4. JavaScript中变量判断是否是数字,判断是否是整数,判断是否是正整数/负整数,判断奇数/偶数的方法

    (1)判断是否是整数  JavaScript中变量判断是否是数字,判断是否是整数,判断是否是正整数/负整数,判断奇数/偶数的方法. (1)判断是否是整数 // 判断整数function isInteg ...

  5. 在javascript中使用纯函数处理副作用

    在javascript中使用纯函数处理副作用 今天给大家带来一片译文, 详情请点击这里.可能在墙内哦 开始了, 如果你点开这篇文章, 就证明你已经开始涉及函数式编程了, 这距离你知道纯函数的概念不会很 ...

  6. JavaScript中立即执行函数实例详解 转载 作者:李牧羊

    javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解.这篇文章 ...

  7. 理解javascript中的回调函数(callback)

    理解javascript中的回调函数(callback) 在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Obje ...

  8. javaScript中的匿名函数

    js中的匿名函数 js匿名函数 js中匿名函数的N种写法 直接上代码和截图 <!DOCTYPE html> <html> <head> <meta chars ...

  9. JavaScript常见变量和函数命名示例

    JavaScript作为前端开发从业人员必须掌握的3大基础知识中最重要的一环,也是平是接触时间最长.写得最多的.在开发过程中必然会遇到命名的问题,你会词穷.纠结.惆怅吗?本文的出现相信能够解决大部分烦 ...

最新文章

  1. 2022年人工智能全球最具影响力学者榜单AI 2000
  2. java一句话木马连接_webshell一句话木马大全
  3. 字符识别(模板匹配BP神经网络训练)
  4. 深度学习工具caffe详细安装指南
  5. WAMP显示错误“MSVCR100.dll”缺少安装时
  6. js selector设计及实现(一) 实现思路
  7. DM***+GET***测试
  8. kali linux查看局域网的电脑,kali linux 如何查找局域网ip
  9. java swing 跳转窗口_Java建立窗口并通过按钮实现窗口跳转
  10. ASP.NET报错:failed due to the following error: 8000401a.
  11. 【外文文献检索与下载方法】
  12. Modown v7.3无限制版+ Erphpdown12.3插件 + 工单系统
  13. psd 直接导入unity
  14. Vue3报错:Extraneous non-props attributes (style) were passed to component but could not be automatical
  15. 《京东话费充值系统架构演进实践》读后感
  16. メンアットワーク!3 men at work3 猎人们的青春攻略
  17. 计算机720p进制,历史频道《人类大历史 Big History》第1季全17集 英语中字 720P高清纪录片...
  18. 用vb.net制作贪吃蛇游戏
  19. 开源中国android客户端学习 第一天
  20. java解析geojson

热门文章

  1. 为什么要使用Elasticsearch?
  2. Elasticsearch(二) ik分词器的安装 以及 自定义分词
  3. 可重复锁ReentrantLock原理分析
  4. servlet运行原理和生命周期
  5. linux c 代码分析工具,编程达人 分享几款Linux 下C/C++程序内存泄漏检查工具
  6. SpringBoot @Cacheable缓存入门程序
  7. 使用openssl生成PEM格式私钥和公钥及ECDSA签名
  8. 为C程序员准备的0x10个最佳问题
  9. linux makefile详解
  10. ribbon hystrix仪表盘