js课程  1-4   js变量的作用域是怎样的

一、总结

一句话总结:只有在函数内部前面带var的变量为局部变量,局部变量只能在函数体内使用。

1、什么情况下会出现NaN类型的错误,举一例?

Number转数字失败产生一个NaN类型

  1. 14 str='10abc';
  2. 15
  3. 16 tot=Number(str)+5;

2、js中局部变量怎么定义?

只有在函数内部前面带var的变量为局部变量,变量定义时前面如果没有var则全部都是全局变量

  1. 14 function say(){
  2. 15 var str='user1';
  3. 16 }

3、什么时候会出现一个undefined类型的变量,举一例?

对象未定义,却调用里面的方法

4、js定义函数的两种方法是什么?

普通方式和匿名函数方式

  1. 16 // 1.传统定义方法
  2. 17 function say(){
  3. 18 alert(1);
  4. 19 }
  5. 20
  6. 21 // 2.匿名定义方法
  7. 22 say=function(){
  8. 23 alert(1);
  9. 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>
 

js课程 1-4 js变量的作用域是怎样的的更多相关文章

  1. js高程 第 4章 变量、作用域和内存问题 【笔记】

    4.4 小结 JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值.基本类型的值源自以下 5 种基本数据类型:Undefined.Null.Boolean.Number 和 Str ...

  2. js学习笔记1(变量、作用域、内存)

    写在前面,舍弃叽叽歪歪,只做学习笔记,认真踏实. 学习书籍:javascript高级程序设计3版. 章节4.1 基本类型和引用类型 1.基本类型在内存中占据固定大小的空间,所以保存在栈内存中. 2.从 ...

  3. js学习之变量、作用域和内存问题

    js学习之变量.作用域和内存问题 标签(空格分隔): javascript 变量 1.基本类型和引用类型: 基本类型值:Undefined, Null, Boolean, Number, String ...

  4. js变量及其作用域(附例子及讲解)

    Javascript和Java.C这些语言不同,它是一种无类型.弱检测的语言.它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量   工具/原料   Ch ...

  5. Js中变量的作用域

    一.理解函数作用域需要理解以下几点:    1.函数变量的作用域有全局变量和局部变量两种,全局变量写在函数的最前面,局部变量写在函数体内,局部变量省略了var 也就默认成为了全局变量!    2.函数 ...

  6. 详解js变量、作用域及内存

    详解js变量.作用域及内存 来源:伯乐在线 作者:trigkit4       原文出处: trigkit4    基本类型值有:undefined,NUll,Boolean,Number和Strin ...

  7. Js 变量的作用域

    变量的作用域 所有的变量作用域是指在哪里可用哪里不可用 局部作用域和全局作用域 在js中以函数来分割作用域 在函数里面就叫做局部作用域,在函数外面的就叫全局作用域 在函数里面如果省略var 关键字 那 ...

  8. JS变量、作用域、内存

    写到这个题目<JS变量.作用域,内存>,我就不由自主想起了黄金三嫖客.可能是名字有点像,嗯,一定是这样子的! JS接触下来,应该是要比Java简单不少的,所以,要学好啊.立个flag半年后 ...

  9. js课程 1-5 js如何测试变量的数据类型

    js课程 1-5 js如何测试变量的数据类型 一.总结 一句话总结:用typeof()方法. 1.js如何判断变量的数据类型? 用typeof()方法. 13 v=10; 14 15 if(typeo ...

随机推荐

  1. BIND View 加速南北方网络互访

            BIND View 加速南北方网络互访          南北方网络互访的问题一直以来就是广大运维人员的心病,两大网络运营商之间的连接带宽比较有限,跟不上互联网业务发展的速度.如何才能 ...

  2. Dubbo学习总结(4)——Dubbo基于Zookeeper实现分布式实例

    入门实例解析 第一:provider-提供服务和相应的接口 创建DemoService接口 [java] view plaincopyprint? <span style="font- ...

  3. Spring CORS

    转载:Spring MVC 4.2 增加 CORS 支持 http://spring.io/blog/2015/06/08/cors-support-in-spring-framework http: ...

  4. 洛谷——P1823 音乐会的等待

    https://www.luogu.org/problem/show?pid=1823 题目描述 N个人正在排队进入一个音乐会.人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人.队列中任 ...

  5. ListView Item 点击展开隐藏问题

    public class ListAdapter extends BaseAdapter {     private Context mContext;     private View mLastV ...

  6. 1.2 Use Cases中 Website Activity Tracking官网剖析(博主推荐)

    不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ Website Activity Tracking 网站活动追踪 The origi ...

  7. socket TCP简单通讯

    socket 服务器 // // main.m // socket_server // // Created by lujunjie on 2016/11/23. // Copyright © 201 ...

  8. Redis原理(一)

    基础和应用 1.Redis是远程调用技术的首字母缩写. 2.Redis可以用来做什么? Redis可以用来做缓存. 分布式锁 3.Redis的应用举例 记录帖子的点赞数.评论数和点击数.(使用HASH ...

  9. How to remove a Data Guard Configuration from Primary Database (文档 ID 733794.1)

    APPLIES TO: Oracle Database - Enterprise Edition - Version 10.1.0.2 to 11.2.0.3 [Release 10.1 to 11. ...

  10. 防止 Chrome 屏蔽 非官方 扩展程序 教程(一)

    说明 Google Chrome,又称 Google 浏览器,是一个由 Google(谷歌)公司开发的网页浏览器.该浏览器是基于其它开源软件所撰写.包含 WebKit,目标是提升稳定性.速度和安全性. ...