zoukankan      html  css  js  c++  java
  • 深入浅出JavaScript(一)

    数据类型

    1. 六种数据类型

    JavaScript包含六种数据类型:基本类型number、string、boolean、null、undefined和对象类型Object。其中,对象类型包含方法function、数组array和日期Date等。

    2. 隐式转换

    • 使用+时表示连接,使用-时表示数字运算,可以巧用在number和string之间转换;
    • 类型相同比较相当于恒等===;
    • 类型不同尝试类型转换再比较,我称作为向下转型:
      • null == undefined
      • number == string,后者会自动转型为number
      • boolean会转型为number
      • object会转型为number或者string

    3. 包装对象

    当一个基本类型当对象使用时,只是产生了一个临时对象,将基本类型包装为一个对象,它是没有对象的属性的,使用完一次对象即销毁。

    4. 类型检测

    • typeof检测:
      • typeof null; //"object"
      • 适合基本类型及function检测,null检测为object
    • instanceof检测:
      • [1,2] instanceof Array; //true
      • 适合自定义对象和原生对象,在不同iframe和Window间检测失效
    • Object.prototype.toString检测:
      • Object.prototype.toString.apply(123); //"[object Number]"
      • 适合基本类型和内置对象,null检测为null,undefined检测为undefined

    表达式和运算符

    • 常量、变量、关键字叫原始表达式。
      • 原始表达式使用运算符连接叫做复杂表达式;
      • 数组表达式可以表示数组的初始化,花括号表达式可以表示初始化对象;
      • 函数表达式
      • 属性访问表达式,如Object o = new Object();o = {x:1};o.x; //1
      • 对象创建表达式
      • 调用表达式
    • 运算符分为一元、二元、三元运算符。
      • 其他常用
      • 逗号运算符
      • delete运算符
      • this
      • in

    语句

    • JavaScript没有块级作用域(block使用{})
    • 函数内有函数作用域,函数内var a= b= 1;,b是全局变量,a是局部变量
    • try-catch语句抛异常的顺序问题:❤️:从内到外
    • 函数和函数表达式
    • for--in遍历是不按顺序的
    • with遍历,用于深层次遍历,但是不推荐了
  • 相关阅读:
    《数据结构
    《数据结构
    《数据结构
    《算法
    《linux 进程管理》- ps/top/kill/killall/nice
    《linux 字符处理》- grep/sort/uniq/tr/paste/sed/awk
    《linux 文件目录》- touch/rm/mv/cat/head/tail/cp/mkdir/chmod/chown/find/locate/which/whereis/tar
    MySQL优化必须调整的10项配置
    PV-UV
    linux+nginx+mysql+php高性能服务器搭建
  • 原文地址:https://www.cnblogs.com/pycrab/p/10472667.html
Copyright © 2011-2022 走看看