javascript变量函数-JavaScript 变量和函数

2023-08-26 0 2,149 百度已收录

这是函数

函数是可以重复执行的代码块。

为什么使用函数

由于部分代码可能会被多次使用,因此可以将其封装起来,在需要时调用。

1.变量和作用域(隐式全局变量和变量声明改进) 1.1 变量和作用域(函数中的变量需要在函数执行后使用)全局变量(成员变量)

在那里可以访问的变量。 (进入脚本时立即定义的变量和不带 var 的变量)

局部变量

函数内部的变量只能在函数内部访问。 (函数内用 var 定义的变量和赋值)

1.2 隐式全局变量 隐式全局变量是不易被发现的隐藏全局变量。

function  fn(){
var  a  =  b  =  c  =  1;   // b和c就是隐式全局变量
}

注意

function  fn(){
var  a  =  b  =  c  =  1;   // b和c就是隐式全局变量(等号)
var  a = 1;  b = 2;  c = 3;     // b和c就是隐式全局变量(分号)
var  a = 1 ,  b = 2 ,  c = 3;    // b和c就不是隐式全局变量(逗号)
}

1.3 变量声明改进(原因:预解析)

在函数中,使用变量之前先定义变量。 增加变量名,不要增加变量值,很容易出现未定义的情况。 估计后产生 NaN。

function fn(){
// var aaa;
console.log(aaa);
var aaa = 1;
}

//这个习惯叫什么早? 准备!

//变量声明改进:在预解析时,将成员变量和函数提升到最低位置,以便于其他程序访问。

//变量声明增强功能:成员变量只增加变量名,不增加变量值。 并且,功能是一切都得到改善。 (直接定义的函数)

//函数作用域内仍然会有变量声明改进

//哪些情况容易出现变量声明改进:先使用变量再定义变量

1.4 Es6let 和 const 命令

1.let:ES6新增了let命令来声明变量。 它的用法和var类似,声明的变量只在let命令所在的代码块中有效。

let声明的变量只在它所在的代码块中有效。 在下面的for循环中,let声明的变量只在for循环内部的代码块(块级作用域)内有效,在其外部很难访问。

for (let i = 0; i < 10; i++) {
  // ...
console.log(i);
// 0,1,2,3,4,5,6,7,8,9
}
console.log(i);
// ReferenceError: i is not defined

var命令中会出现“变量增加”现象,即变量在声明之前就可以使用,而值是未定义的。 为了纠正这些现象,let 命令改变了句子的行为。 它声明的变量必须在声明后使用,并且不能有变量增加,否则会报错。

// var 的情况
console.log(foo); // 输出undefined
var foo = 2;
// let 的情况
console.log(bar); // 报错ReferenceError
let bar = 2;

2.const:声明一个只读常量。 一旦声明,常量的值就不能更改,必须立即初始化,并且不能作为形式参数留下。 对于const来说,如果只声明而不带形参,会报错。

const的作用域与let命令相同:只在声明所在的块级作用域内有效javascript变量函数,并且只能在声明的位置前面使用。

if (true) {
  const MAX = 5;
}
MAX // Uncaught ReferenceError: MAX is not defined

1.5 返回值问题 如果函数没有使用return语句,那么该函数有一个默认的返回值:undefined。 如果函数使用return语句,那么return旁边的值就成为函数的返回值。 如果函数使用了return语句,并且return之前没有任何值javascript变量函数,那么这个函数的返回值也是:未定义的函数使用return语句后,这个函数执行完return语句后会立即停止并退出,即也就是说,return之前的所有其他代码都不会再次执行。

    //打印函数名,就等于打印整个函数。
    console.log(fn);
    //打印执行函数,就等于打印函数的返回值。
    console.log(fn());  //函数中包函数,先执行里面,后执行外面。
    function fn(){
        var arr = [1,3,3];
    }

尖端

1 函数不调用不执行

2 函数名等于(整个函数),复制函数名相当于复制整个函数的代码; 复制函数名和括号中的参数就是复制函数的返回值

3 加载函数时,只加载函数名,不加载函数体

4个参数相当于局部变量

5、按照就近原则使用变量

6 两个并行函数中的变量不会互相影响(可以使用相同的数组名)

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 javascript javascript变量函数-JavaScript 变量和函数 https://www.wkzy.net/game/153261.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务