首页 > Web开发 > 详细

js从入门到精通(2.2-3.2)

时间:2020-07-29 23:39:10      阅读:91      评论:0      收藏:0      [点我收藏+]

2.2 变量和常量

2.2.1 常量

在程序运行中保持不变的数据

2.2.2 变量

命名 字母或者下划线开头,中间可以是数字、字母或者下划线

不能包含空格 加号 减号 不能使用关键字 严格区分大小写

声明赋值

只是声明变量,并未对其赋值,则默认为undefined。

var可以多次声明同一个变量,如果该变量已经有一个初始值,那么此时相当于重新赋值。

作用域 全局变量和局部变量 全局声明在方法外部

生存周期 全局变量在主程序定义,一直到程序结束,局部变量只在函数之中,函数结束后,生存期结束。

2.2.3 运算符

typeof 返回操作数当前所容纳的数据类型

new 创建对象 new constructor [(arguments)]

constructor 必选项

arguments 可选项

2.3 数据类型转换

转化为数值类型数据

类型 转换后结果
undefined NaN
null 0
逻辑型 false 0 true 1
字符串 内容是数字 则为数字 否则NaN
其他对象 NaN

转化为字符型

类型 转化后的结果
undefined "undefined"
null "null"
逻辑 "false" "true"
其他对象 若存在 为toString()方法的值 否则结果为"undefined"

(流程控制 跳过)

3 函数

3.1超链接调用函数

javascript:test()"

3.2嵌套函数

 <script type="text/javascript">
    var outer = 10
        function outFunction(number1,number2){
            function innerFunction(){
                alert(number1+number2+outer);
            }
            return innerFunction();
        }
    </script>
</head>
<body>
   <script type="text/javascript">
        outFunction(10,10);
   </script>
</body>

内部函数可以访问到 全局变量和外部函数的形参

Maximum call stack size exceeded 报错

在return innerFunction 写错 return outFunction 无终止递归

js闭包 访问其他函数局部变量 可以使这些局部变量始终保持在内存中(有点类似于全局变量)

http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html

function f1(){

    var n=999;

    nAdd=function(){n+=1}

    function f2(){
      alert(n);
    }
    return f2;
  }

  var result=f1();

  result(); // 999

  nAdd();

  result(); // 1000

第二次执行 reslut 的时候 不是重新定义变量n为 999

js从入门到精通(2.2-3.2)

原文:https://www.cnblogs.com/wuloucha/p/13400112.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!