zoukankan      html  css  js  c++  java
  • JS高级

    类型判断

    • typeof:

      • 可以判断:undefined/数值/字符串、布尔值、function

      • 不能判断: null与object object与array

    • instanceof

      • 判断对象的具体类型

    • ===

      • 可以判断:undefined,null

    1.undefined与null的区别?

      undefined代表定义未赋值

      null定义并赋值,只是值为null

    2.什么时候给变量赋值给null?

      初始赋值,表明赋值为对象

      结束前,使对象成为垃圾对象

    内存分类

    • 栈: 全局变量/局部变量

    • 堆: 对象(对象名为变量,存在栈内存中

    内存,变量,数据三者之间的关系

    • 内存用来存储数据的空间

    • 变量是内存的标识

    如何访问对象内部数据?

    • .属性名:编码简单,有时不能用

    • ['属性名']:编码简单,能通用

     什么时候使用['属性名']的方式?

      1.属性名包含特殊字符:- 空格

      2.属性名不确定

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

    关于引用变量赋值问题

    • n个引用变量指向同一个对象,通过一个变量修改对象内部数据,其他所有变量看到的是修改之后的数据。

    • 2个引用变量指向同一个对象,让其中一个引用变量指向另一个对象,另一个引用变脸依然指向前一个对象

    函数

      如何执行函数

      • test():直接调用

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

      • new test():new调用

      • test.call/apply(obj):临时让test成为obj的方法进行调用(可以让一个函数成为指定任意对象的方法进行调用

    回调函数

    • 什么函数才是回调函数?

      • 你定义的

      • 你没有调用

      • 但它最终执行了(在一定条件下或某个时刻)

    • 常用的回调函数

      • dom事件回调函数

      • 定时器回调函数

      • ajax请求回调函数(后面讲解)

      • 生命周期回调函数(后面讲解)

      1.$是一个函数   2.$执行后返回的是一个对象

    函数中的this

    1. this是什么?

      • 一个关键字, 一个内置的引用变量

      • 在函数中都可以直接使用this

      • this代表调用函数的当前对象

      • 在定义函数时, this还没有确定, 只有在执行时才动态确定(绑定)的

    1. 如何确定this的值?

      • test()

      • obj.test()

      • new test()

      • test.call(obj)

      本质上任何函数在执行时都是通过某个对象调用的

    关于语句中的分号问题

    1. js一条语句的后面可以不加分号

    2. 是否加分号是编码风格问题, 没有应该不应该,只有你自己喜欢不喜欢

    3. 在下面2种情况下不加分号会有问题

      • 小括号开头的前一条语句

      • 中方括号开头的前一条语句

    4. 解决办法: 在行首加分号

    5. 强有力的例子: vue.js库

  • 相关阅读:
    Windows Azure 网站 (WAWS) 中的服务器端包含 (SSI)
    Windows Azure 即将更名
    由世纪互联运营的 Windows Azure 现已在中国正式发布
    Windows Azure 存储的冗余存储选项和只读访问跨地域冗余存储
    Azure 网站的新增功能:可配置的环境变量
    cocos2dx中的其他层
    日期类型的特殊性 -- 日期函数转换
    now()与sysdate()的区别(1)
    定义变量时无引号,单引号,双引号区别与特点
    把一个命令的结果作为变量内容赋值方法
  • 原文地址:https://www.cnblogs.com/yaokai729/p/11371867.html
Copyright © 2011-2022 走看看