JS变量和函数学习心得

最近几天,我初步学习了JS的变量和函数,有所收获,在此做一些记录。

变量

变量类型

类型类型名
字符串String
数字Number
数组Array
布尔Bool
对象Object
无值默认Undefined

变量的声明与赋值

变量的声明

var a;
let b;
复制代码

变量的赋值

var a=1;
var str="hello";
let c=true;
复制代码

变量的提升

用var声明变量,在运行时,会发生提升,全局变量会提升至整个js代码的最前端;局部变量会提升至函数体的最前端

关于var和let

使用var声明变量在一些实际使用场景有些许不足之处,如:

  • 用var声明变量,在运行时,会发生提升,全局变量会提升至整个js代码的最前端;局部变量会提升至函数体的最前端
  • 用var声明变量上,如果有多个同名变量的出现,后面的会覆盖前面的

鉴于var的这些特性,在一些特定场景,所以会发生一些问题。所以建议使用let。

const

用于常量的声明,例如:

const a=2;
复制代码

数据的存储

对于基本数据类型来说,它们是存储在栈区 ,对于引用数据类型说来,它们是存储在堆区。(数组存储在堆区)

全局变量和局部变量

变量均有全局变量和局部变量之分

这里的a为局部变量,因为它在函数体内部
 function f(){
        var a = 1;  
        console.log(name)
 }
复制代码
这里的b为全局变量
 var b = 100;
 function f(){
     console.log(b)
 }
复制代码

一般可以认为,全局变量和局部变量的分界点是函数,函数内为局部变量,函数外为全局变量

函数

函数在js中占有举足轻重的地位,js是以函数为核心的编程语言

初识函数

函数是指一段在一起的、可以做某一件事儿的程序。 ——百度百科

函数的基本结构

function name(形参1,形参2,形参3) {
    函数的内容
}
复制代码

形参与实参

如上面的函数基本结构,在定义函数时,括号里的为形式参数,实际使用该函数时调用的参数为实参。例如:

function sum(a,b) {  //此处的a和b为形参
    return a + b;
}
add(0,21);           //此处的0和21为实参
复制代码

函数参数的传递也可分为按值传递和引用传递,即传值和传地址

函数的提升

与用var声明变量类似,使用function声明的函数,也会有提升现象。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值