博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS中变量和函数的使用
阅读量:5795 次
发布时间:2019-06-18

本文共 1779 字,大约阅读时间需要 5 分钟。

js中的变量

定义:

在计算机中当我们进行一些数学问题时,我们需要找容器来放数字,然后从容器中取出

值进行运算,在编程中这个容器,我们就称之为变量。

变量的组成:

变量名 = 变量值例如:var a = 110;     在数学中,= 叫等于符号 ,在编程中叫赋值符号。a叫变量名, 110叫变量值。复制代码

变量的定义与声明:

声明一个变量    var a; var就是专门用来声明变量定义一个变量   var b = 110; 在声明的同时,并赋值复制代码

注意如果仅仅是声明了一个变量,没有赋值,那么它有一个默认值,叫undefined

局部变量与全局变量:

全局指变量在函数内外都可以访问,而局部变量只能在函数内部访问,在JS中,全局变量和局部变量的分界点是函数。如下:

局部变量的生效范围是函数内,如下:

全局变量的生效范围是函数内,如下:

由此可见,全局变量是指在函数外面的变量,它的生效范围是函数内外

局部变量是指在函数内的变量,它的生效范围是函数内。

声明方式var、let、const的区别:

  • 加var的变量不足之处:

    1 、 全局变量的提升,局部变量的提升(提升到函数体代码段的最前面);

    2 、 同名变量,那么的变量会覆盖前面的变量;

    3 、可以省去var

  • 使用了let声明的变量时:

    1 、那么这是没有提;

    2 、可以防止重复声明;

    3 、使用let可以形成一个块级作用域

  • const声明时:

    1 、声明一个常量,没有提升;

    2 、如果声明了一个常量,那么这个常量的值,你是不能随便改变

数据类型

在JS中,有五大基本数据类型,还有引用数据类型:

五大基本数据类型:

1 、 数值型(number)

2 、字符串(string)

3 、布尔型(boolean)

4 、 undefined

5 、null

引用类型:

  • 对象(object)

(1)number

数值类型,作用是用来表示数字,如商品价格,年份,年龄....

可以通过typeof来查看一个变量的数据类型。如图:

(2)string

作用:用来描述字符串相关的数据,如姓名,密码,用户名,地址...

格式:”wangCai” ‘xiaoQiang’ 对于字符串,要使用引号包起来。

基本使用:

(3)boolean

它只有两个值,一个是true一个是false.

(4)undefined和null

undefined就是没有定义的意思,它是一个数据类型,也是一个值;

null是用来表示引用数据类型

在JS中有两个特殊的对象:

数组 array

函数function

常用运算符

  • 三元运算符:? :
格式:表达式1 ? 表达式2 : 表达式3规则:如果表达式1的值为真,那么这个整体的结果就是表达式2,否则就是表达式3复制代码
  • 字符串连接运算符 +

    如图:

隐式转化(==)&绝对等于(===)

绝对等于:先判断类型,类型不致就是false 隐式转化:按理说不满足运算符的规则:运算符两侧的操作数的类型要一样 但是大多数据编程语言,都会把一侧的数据类型隐式的转成另一个数据类型 要么把1转成了"1"   要么把"1" 转成数字1如图: 复制代码

函数的使用

定义:

函数就是一个功能块,给一个输入,通过一个关系,会得到一个输出

在JS中,定义函数有三种方式:函数声明(函数定义),函数表达式,箭头函数

函数声明格式:

function 函数名(形式参数){具体功能}注意在使用时要先调用否则不会执行复制代码

函数返回值:

  • 在JS中,如果一个函数没有指定返回值,那么这个函数返回undefined

  • return只能返回一值,如果你要返回多值,请你把多个值放到一个容器(数组,对象)

  • 在一个函数中遇到了reutrn语句,return语句后面的代码都不会执行

函数参数传递

  • 函数声明处,写的参数是形参,形参可以当它当用函数体内部的局部变量,如下图

  • 如果给一个函数传递了一个基本数据类型的数据,是把栈区中数据copy了一份赋了形参,值传递

  • 如果给函数传递的数据是引用的数据类型,本质是传递是地址,也叫引用传递,如下图

在函数式编程中,你可以把一个函数当作另一个函数的参数

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

你可能感兴趣的文章
[置顶] Java集群优化——dubbo+zookeeper构建高可用分布式集群 [转]
查看>>
原创:经验分享:微信小程序外包接单常见问题及流程
查看>>
媒体服务巨头Sling TV构建生产级K8S集群,服务400万付费用户
查看>>
linux的程序包管理-rpm
查看>>
Python CookBook之zipfile:一次性解压多层嵌套的压缩包
查看>>
流程优化------如何让高层从大量的流程审批中解脱,从而提高审批效率
查看>>
jmpb传阅会签
查看>>
oracle表中树形结构与分级查询
查看>>
JS原型,原型链
查看>>
Linux常用的命令
查看>>
美国23个州的选举计票机存在漏洞
查看>>
消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ
查看>>
keepalived高可用基础配置
查看>>
php魔术方法
查看>>
自动化运维Ansible,强大的自动化运维工具!
查看>>
MySQL高可用MHA集群
查看>>
软件版本alpha、beta、final等等这些什么意思?
查看>>
你干啥的?Lombok
查看>>
成长记录 | 说出来,写出来,做出来。
查看>>
hibernate Criteria 使用
查看>>