笔记 day01

  • JSON 的用法

(1) JSON (JavaScript Object Notation, JS 对象表示法) 是一个特殊格式的字符串,这个字符串可以被人以的语言所识别并可以转换为任意语言中的对象,JSON 在开发中主要用来数据的交互。

(2) 分类:数组 & 对象。JSON 中允许的值:字符串 & 数值 & 布尔值 & null & 对象(不包括函数) & 数组。

(3) 属性名必须加双引号。例:var json = '{"name":"孙悟空", "age": 18, "gender": "男" }'; 转格式: JSON.parse ( ); 

  • eval ( ); 可以执行一个字符串中的 js 代码。

(1) 若 eval ( ) 执行的字符串中含有 { } ,它会将 { } 当成是代码块。如果不希望将其当成代码块解析,则需要在字符串前后各加一个 ( ) 。例如 var obj = eval ( "("+str+"(" );

(2) 需要兼容 IE7 及以下,可以通过引入一个外部的 js 文件(创建一个JSON)来处理。


  • JAVA SCRIPT 高级

(1) typeof 返回数据类型的字符串表达。可判断字符串 &数值 & 布尔值 & function。不能判断 null & object 和 array & object。

(2) === 判断 undefined & null 。

(3) instanceof 判断对象的具体类型

  •  

    var a;
    
    console.long (a, typeof a); // undefined 'undefined'

     

(4) 如何访问对象属性:

a) .属性名:编码简单, 有局限性

b) ['属性名']:编码麻烦,通用

c) 属性名包含特殊字符(- 、空格)时,必须用第二种方式。

d) 属性名不确定时,必须用第二种方式。

var p = {
    name: 'Tom', 
    age: 12, 
    setName: function (name) {
        this.name = name;
    },
    setAge: function (age) {
        this.age = age
    },
}

p.setName('Bob'); //一
p['setAge'](23);  //二
console.log(p.name, p['age']);
var p =  { };
//p.content-type = 'text/json' // 不能用
p['content-type'] = 'text/json';
console.log(p['content-type']);

var propName = 'myAge';
var value = 18;
//p.propName = value //不能用
p[propName] = value;

(5) 如何定义函数

a) 函数声明 function fn1 () {}

b) 表达式 var fn2 = function () {}

(6) 如何调用函数

a) test(): 直接调用

b) obj.test(): 通过对象调用

c) new test(): new 调用

d) test.call/apply(obj): 临时让 test 成为 obj 的方法进行调用

var obj = {};
function test2() {
    this.xxx = 'liguid';
}

//obj.test2() //不能直接调用,根本就没有
test2.call(obj) //obj.test2() //可以让一个函数称为制定任意对象的方法进行调用
console.log(obj.xxx); //liguid

(7) 回调函数

a)什么是回调函数

1. 你定义的 2. 你没有调用 3. 但最终它执行了

b)常见回调函数

1. dom  事件回调函数

2. 定时器回调函数

3. ajax 请求回调函数

4. 生命周期回调函数

(8) IIFE (Immediately-Invoked Function Expression)

a) 形式

(function (){ //匿名函数自调用
    console.log('...');
}) ();

var a = 4;
console.log(a);
(function () {
    var a = 1;
    function test () {
        console.log(++a);
    }
    window.$ = function () { //向外暴露一个全局函数
        return {
            test: test;
        }
    }
}) ();

$().test(); //$ 是一个函数 //$执行后返回的是一个对象

b) 作用

1. 隐藏实现 2. 不会污染外部(全局)命名空间 3. 用来编写 js 模块

 

 

变量提升 函数提升

prototype

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值