2017.8.17变量提升、函数提升、作用域、json格式

变量提升

会经常用到,主要要理解javascript中的级作用域

var v='Hello World';
alert(v);//Hello World
var v='Hello World';
(function(){
    alert(v);//Hello World
})()
var v='Hello World';
(function(){
    alert(v);
    var v='I love you';//undefined
})()

js中的是函数级作用域,这和C语言等中的有很大的不同(块级作用域)。在javascript中,块级,就像if语句,并不会创建一个新的作用域,只有函数才会创建新的作用域
C语言

#include <stdio.h>
    int main() {
    int x = 1;
    printf("%d, ", x); // 1
    if (1) {
        int x = 2;
        printf("%d, ", x); // 2
     }
    printf("%d\n", x); // 1
}

javascript

 var x = 1;
    console.log(x); // 1
 if (true) {
   var x = 2;
   console.log(x); //2
}
 console.log(x);// 2

函数提升

简而言之,就是将整个函数提升到前面去。
js中写函数的两种方式

  • 函数表达式
  • 函数申明方式
    注意:只支持函数申明方式
function myTest(){
    foo();
    function foo(){
        alert("我来自 foo");
    }
}
myTest();
function myTest(){
    foo();
   var foo =function foo(){
        alert("我来自 foo");
    }
}
myTest();

状态码

  • 404请求失败,请求所希望得到的资源在服务器上没有找到

json数组

json数组就是一个包含多个json数据的数组,也可以包含json数组

[{"a":"b","c":5500},{"a":"av8d","c":600},{"JSON教程":"http://www.sojson.com/json/"}]
//json数组

另外json对象注意点:

//合格的json格式
["one", "two", "three"]

{ "one": 1, "two": 2, "three": 3 }

{"names": ["张三", "李四"] }

[ { "name": "张三"}, {"name": "李四"} ]
//都是不合格的json数据格式
{ name: "张三", 'age': 32 }  // 属性名必须使用双引号

[32, 64, 128, 0xFFF] // 不能使用十六进制值

{ "name": "张三", age: undefined } // 不能使用undefined

{ "name": "张三",
  "birthday": new Date('Fri, 26 Aug 2011 07:13:10 GMT'),
  "getName": function() {
      return this.name;
  }
} // 不能使用函数和日期对象

按钮的切换:涉及知识点v-show,v-if,v-else

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined、Nul...
    极乐君阅读 5,655评论 0 106
  • 继承 一、混入式继承 二、原型继承 利用原型中的成员可以被和其相关的对象共享这一特性,可以实现继承,这种实现继承的...
    magic_pill阅读 1,097评论 0 3
  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 115,024评论 24 450
  • 周游抿了一口茶水之后继续说道 :“到家之后,我拿手机查了114,问了N县历史博物馆的电话,电话打过去是打更老头接的...
    长白居士阅读 168评论 0 0