《JavaScript高级程序设计》学习笔记(1)——第三章 基本概念

语法

严格模式

  • 严格模式是为JavaScript定义了一种不同的解析与执行模型。
  • 严格模式中,会对不确定的行为进行处理,对不安全行为抛出错误。
  • 在顶部或在函数中添加
"use strict";

    即启用严格模式

  • 支持严格模式的浏览器有IE10+、FIreFox 4+、Safari 5.1+、Opera 12+、Chrome

变量

  • 省略var操作符,即给未声明的变量赋值会使变量成为全局变量,这种写法在严格模式下会导致抛出ReferenceError错误

数据类型

typeof操作符

  • typeof是检测给定变量的数据类型的操作符
  • 其返回类型是字符串
    undefined未定义
    boolean布尔值
    string字符串
    number数值
    object对象或null
    function函数
    Safari 5及之前版本和Chrome 7及之前版本在对正则表达式调用typeof操作符时会返回“function”,其他都会返回“object”

null和undefined

  • null值表示一个空对象指针
  • null和undefined区别参考阮一峰的网络日志
  • 只要在意在保存对象的变量还没有真正保存对象,就应该明确的让该变量保存null值

Boolean类型

  • 各类数据对应Boolean的转换规则
    数据类型转换为true的值转换为false的值
    Booleantruefalse
    String任何非空字符串""(空字符串)
    Number任何非零数字值(包括无穷大)0和NaN
    Object任何对象null
    Undefined不适用undefined

Number类型

  • Number类型的八进制字面量在严格模式下无效,抛出错误
  • 浮点数值小数点后为0会默认转换为整数
var floatNum1 = 1.;//小数点后面没有数值,解析为1
var floatNum2 = 10.0;//整数,解析为10
  • isNaN()参数可以是任何类型,函数确定是否“不是数值”。在接收到一个值之后,会尝试将这个值转换为数值
  • 转型函数Number()可以用于任何数据类型,转换规则略
  • parseInt()解析八进制字面量字符串时,ECMAScript 3认为是八进制,ECMAScript 5认为是十进制
  • parseFloat()解析到末尾或第一个无效的小数点为止,即第一个小数点有效,第二个和之后都无效

String类型

  • 字符串一旦创建,他们的值就不能改变

操作符

  • 位操作符
    按位非(NOT)~(本质:操作数负值减1)
    按位与(AND)&
    按位或(OR)|
    按位异或(XOR)^
    左移<<
    右移>>(向右移动,保留符号位)
    无符号右移>>>(数值所有32位都向右移动)

  • 全等操作符(===)只在两个操作数未经转换就相等的情况下返回true
  • for-in循环使用之前,先检测确认该对象不是null或undefined
  • label语句可以和break或continue语句联合使用
    outermost:
    for(var i=0;i<10;i++){
        if(i==5){
            break outermost;
        }
        else{
            continue outermost;
        }
    }

  • with语句的作用是将代码的作用域设置到一个特定对象中,为了简化多次编写同一个对象的工作
    var qs = location.search.substring(1);
    
    with(location){
        var qs = search.substring(1);
    }

  • switch语句在比较值时使用的是全等操作符,因此不会发生类型转换(例如,字符串“10”不等于数值10)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值