微信扫一扫打赏支持

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>

 

 

 

 

 

 

 
posted @ 2018-06-25 21:30  范仁义  阅读(299)  评论(0编辑  收藏  举报