js课程 1-4 js变量的作用域是怎样的
js课程 1-4 js变量的作用域是怎样的
一、总结
一句话总结:只有在函数内部前面带var的变量为局部变量,局部变量只能在函数体内使用。
1、什么情况下会出现NaN类型的错误,举一例?
Number转数字失败产生一个NaN类型
14 str='10abc';
15
16 tot=Number(str)+5;
2、js中局部变量怎么定义?
只有在函数内部前面带var的变量为局部变量,变量定义时前面如果没有var则全部都是全局变量
14 function say(){
15 var str='user1';
16 }
3、什么时候会出现一个undefined类型的变量,举一例?
对象未定义,却调用里面的方法
4、js定义函数的两种方法是什么?
普通方式和匿名函数方式
16 // 1.传统定义方法
17 function say(){
18 alert(1);
19 }
20
21 // 2.匿名定义方法
22 say=function(){
23 alert(1);
24 }
二、js变量的作用域是怎样的
1、相关知识
NaN类型:
#not a number
str='10a';
num=Number(str);
null类型:
str=null
#一般用于提前规划一些变量或给变量赋初值
undefined类型:
#变量未定义
变量作用域:
1.全局变量
变量定义时前面如果没有var则全部都是全局变量
2.局部变量
只有在函数内部前面带var的变量为局部变量,局部变量只能在函数体内使用
2、代码
js中函数定义的方法
1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>index</title> 6 </head> 7 <body> 8 <div class="img"> 9 <h1>aaaaaaaaaaaaaaa</h1> 10 <h1>bbbbbbbbbbbbbbb</h1> 11 </div> 12 </body> 13 <script> 14 //定义函数 15 16 // 1.传统定义方法 17 function say(){ 18 alert(1); 19 } 20 21 // 2.匿名定义方法 22 say=function(){ 23 alert(1); 24 } 25 26 say(); 27 </script> 28 </html>
Number转数字失败产生一个NaN类型
1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>index</title> 6 </head> 7 <body> 8 <div class="img"> 9 <h1>aaaaaaaaaaaaaaa</h1> 10 <h1>bbbbbbbbbbbbbbb</h1> 11 </div> 12 </body> 13 <script> 14 str='10abc'; 15 16 tot=Number(str)+5; 17 18 alert(tot); 19 </script> 20 </html>
局部变量
1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>index</title> 6 </head> 7 <body> 8 <div class="img"> 9 <h1>aaaaaaaaaaaaaaa</h1> 10 <h1>bbbbbbbbbbbbbbb</h1> 11 </div> 12 </body> 13 <script> 14 function say(){ 15 var str='user1'; 16 } 17 18 say(); 19 alert(str); 20 </script> 21 </html>