1.阅读以下代码,请分析出结果:var a=10; function fun(a) { a = 5; } fun(a); alert(a)?

作者&投稿:爨欢 (若有异议请与网页底部的电邮联系)
fun(); var a=1; function fun(){ var a=3; alert(a); var a=4; } var a=2; 弹出的结果是什么?~

因为方法自动提升,因此开始执行fun函数的内容:
function fun(){ var a=3; alert(a); var a=4; } // var a=3; alert(a); var a=4;因为在alert之前定义了var a =3;因此在alert的时候,就会弹出a的值,也就是3。

js是一种弱类型的语言,1中,输出的是a这个方法,2中,由于你在a方法后,又对a执行了a=1这个赋值操作;所以alert结果是1,那是必然的

弹出10,这里考察的是全局变量和局部变量的问题,在最开始使用var声明了一个全局变量a并且赋值10,后面声明了一个函数fun,并且带参数a,函数里面又将a的值赋为5,这里注意由于函数的参数也是a,所以函数里面的赋值只对这个参数有效,函数里面的a属于局部变量,不会去改变全局变量

为什么会弹出10?

  因为函数的形参近似于在函数内部声明的局部变量,所以fun函数就等于在自己内部声明了一个局部变量a,在接收了全局变量a的值之后,又重新给局部变量a赋值为5,这一切都发生在函数内部,不会改变全局变量a的值,所以会弹出10!

但如果函数fun没有形参呢?

  如果没有形参,函数fun内部的a因为未使用var声明,所以会被提升为全局变量,并覆盖之前的全局同名变量a,此时弹框显示的就是5了~



结果10
原因:作用域

会弹出一个10


1.阅读以下代码,请分析出结果:var a=10; function fun(a) { a =...
弹出10,这里考察的是全局变量和局部变量的问题,在最开始使用var声明了一个全局变量a并且赋值10,后面声明了一个函数fun,并且带参数a,函数里面又将a的值赋为5,这里注意由于函数的参数也是a,所以函数里面的赋值只对这个参数有效,函数里面的a属于局部变量,不会去改变全局变量 ...

阅读下列代码,请说出在括号处应填入的代码是
这道题的意思就是在itesm里面进行遍历。猛一看,A也可以对,但是在jsp里面,变量必须得使用<%=%>

阅读以下代码,执行fn1(4,5)的返回值是()。 function fn1(x, y){ re...
执行相加时 x = 5,y = 5。和为 0。++x 是先自增再返回 x,y++ 是先返回 y 再自增。

阅读以下代码,该代码的运行结果为: public static void main(String...
先算括号里面的 11 & 31 = 11 > 10 为 true 后面的执行 ++31 = 32

8、阅读下列代码,程序执行结果为(+)+a+=+[4,+5,+3,+2,+8]+a...
选B,将a各元素逆序输出,如图所示:望采纳~

2024年NOC大赛软件创意编程(python初中组初赛)真题
7、已知字符串s='? an you ?an a ?an as a ?anner ?an?an a ?an'为被破坏的英文绕口令,想要复原绕口令,就需要将字符串中的'?'替换为字母'c',能实现这个功能的代码是( )8、python表达式8-3**2%5( )9、阅读以下程序,请问运行结束后会显示的是( )10、在Python中,专门用于生成...

阅读下面的C\/C++源代码,请指出哪些代码是错误或者有风险,如果有,请指 ...
foo1中a是局部变量,函数返回后a的栈内存被回收了,此时a的值为不确定,p1指针非法。foo2中a指向一块申请的堆内存,返回后该内存没有被释放容易造成内存泄露。foo3中a是静态局部变量,占用静态存储区,可以合法使用。

阅读下面的代码,写出程序的输出结果。
e1.Name = "xusen";自动调用set属性设置 e1.show();调用show在控制台输出name的值即刚才的属性设值xusen

求Java基础,练习题。
3. 阅读下列代码,选出该代码段正确的文件名( C )。class A{ void method1(){ System.out.println("Method1 in class A");} } public class B{ void method2(){ System.out.println("Method2 in class B");} public static void main(String[] args){ System.out.println("main() ...

.阅读下面的 Python语句,请问输出结果是什么? n=int( input("请输入图 ...
你在上述代码中,一是标点符号、括号、有的=等用的是全角,出现错误;二是缩行不对。n=int(input("请输入图形的行数:"))#n=input("请输入图形的行数:")for i in range(n,0,-1): print("".rjust(20-i),end="") for j in range(2*i-1): print("*",end="") ...

肥东县19692734728: 1.请阅读分析下面程序,然后写出运行结果.#include"stdio.h"void main( ){ int x=8,y= - 5;printf("x=%d,y=%d; ",x,y);x=x+y;y=x - y;x=x - y;printf("x=%d,y=%d\n",... -
巧沾特制:[答案] 第一题:x=8,y=5; x=-5,y=8 第二题 4 2 5 4 2 4 1 2Press any key to continue第三题 (1):29 (2) 15第四题 (1)0,00,2Press any key to continue(2) 125 第五题 (1)s=5 (2)和为:15Press any key to con...

肥东县19692734728: 阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果 -
巧沾特制: 嘿 俺来告诉你原因 1 你的程序能够编译通过,只能说明程序中没有语法错误,但不能说就没有逻辑错误. 2 结果不对 说明存在着逻辑错误 应该分析结果不正确的原因 将运行的结果与正确的结果 进行比较 分析差别及原因 从而找出错误的逻辑. 这个

肥东县19692734728: 1) 输入并运行下面的程序,分析输出的结果. -
巧沾特制: (1)x=2 y =3 z=4 (2)x=2 y =3 z=4 (3)x=4 y =9 z=5 (4)x=2 y =3 z=4 前三条输出应该没问题,第四条说明一下:try函数只是传递值,并不改变原变量内容,所以执行函数try(x,y,z)后,变量的值仍为:x=2,y=3,z=4;

肥东县19692734728: C++虚继承问题
巧沾特制: VC++中:在虚继承中,派生类需要一个指针表示自己这个实体在基类的偏移量.一般来继承情况是,派生类与父类的地址完全一样,但是在虚继承中父类与派生类地址缺不一样,所以每个派生的虚继承类会多出一个指针来表示与父类地址的偏...

肥东县19692734728: 阅读下面的程序,写出运行结果. (1)#include "stdio.h" main( ) { int i=0,n=3,j,k=3; int a[4]={2,4,5} -
巧沾特制: 答案:2 4 3 5#include "stdio.h" main( ) { int i=0,n=3,j,k=3; int a[4]={2,4,5}; do{ i++; }while(ia[i]); // 这里寻找k=3插入的位置,由于 k>a[i],所以3的插入位置就是2和4之间. for(j=n-1;j>=i;j-- )//找到位置后, 这里是把数据向后挪一个位置,以便把k插入. { a[j+1]=a[j]; } a[i]=k; // 这里插入k. for(i=0;i { printf("%3d",a[i]); } }

肥东县19692734728: 阅读下面的代码,写出程序的输出结果 -
巧沾特制: 16 18 14

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网