003——基本概念

语法:
  • 区分大小写
  • 标识符
  • 字母、下划线或$开头
  • 其他字符可以是字母、数字、下划线或$
  • 注释:
  • 单行 //
  • 块 /* .... */
  • 严格模式:”use strict”,解决ECMAScript3中不确定的行为、对不安全操作抛出错误
  • 语句:结尾分号表示语句结束,不添加时解析器自动确定语句结尾
 
 
关键字和保留字
控制语句或一些特定操作 break、 if、else、this、try…
字符类型 abstract、enum、int、short、final…
 
 
变量
Var 松散型,可保存任意类型数据,换句话说,每个变量仅仅是一个占位符,会保存一个undefined
多个变量声明可用逗号分隔
 
数据类型 —— 使用typeof判断
Undefined、Null、Boolean、Number、String、Object
不要显式的声明变量值为undefined
如果需要保存的变量是对象object,可声明对象为null
 
操作符
  • 一元操作符:只操作一个值得操作符,前置、后置++、--,应用数字字符串时,先转为数字再执行++、--
  • 位操作符:ECMAScript所有值都以64位格式存储,但操作符并不直接操作64位值,而是先将64转32位整数,然后执行操作再转回64位。第32位为符号位,三步骤,1.绝对值二进制码,2.求二进制反码,3.二进制反码加1。
  • 按位非~【NOT】:就是求单个数值的反码
  • 按位与&【AND】:两个数值的每一位对齐,都是1结果为1,其余为0
  • 按位或 |【OR】:两个数值每一位对齐,都是0结果为0,其余为1
  • 按位异或^【XOR】:两个数值对齐,只有一个1时,结果为1,其余为0
  • 左移 << :单个数值,向左移动的位数,例如2左移5位,2<<5 = 64
  • 有符号的右移 >> :单个数值,保留符号位不动,例如64>>5 = 2
  • 无符号右移 >>> :同上,符号位一起移动,将所有32位都一起移动
  • 布尔操作符:
  • 逻辑非 !【NOT】:单个数值取反
  • 逻辑与 && :两个数值,同为真为真,其余为假
  • 逻辑或 || :两个数值,同为假为假,其余为真
  • 乘性操作符:
  • 乘法:*
  • 除法: /
  • 求模:%,表示求余
  • 加性操作符:
  • 加法:+
  • 减法:-
  • 关系操作符:<、>、<=、>=
  • 相等操作符:==、!=、===、!==
  • 条件操作符:val = bool_expression ? true_value :  false_value
  • 赋值操作符:=、*=、/=、%=、+=、-=、<<=、>>=、>>>=
  • 逗号操作符:一条语句执行多个操作,var a=1,b=2,c=3
 
语句
If:
if (condition) { 
    statement1 } 
else { 
    statement2 
}
 
do while:至少执行一次
do {
    statement
} while(expression)
 
while
while(expression) statement
 
for
for(initialization; expression; post-loop-expression) statement
 
for-in 枚举对象的属性【index、key等】
for(property in expression) statement
 
label:加标签,方便后面使用
label: statement
例如,start: for(var i=0; I< count; i++) {
    alert(i)
}
 
break、continue:控制循环代码块执行,break跳出循环,continue跳出本次循环,继续下次循环,配合for循环使用
 
with:将代码作用域设置到一个特定对象中,严格模式下不可使用
with (expression) statement
例如,
// 不使用with语句
var qs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href
 
//  使用with语句,严格模式下不可使用
with(loaction) {
    var qs = search.substring(1);
    var hostName = hostname;
    var url = href
}
 
switch: 多个if else判断情况下使用
switch (expression) 
    case val1: statement1
        break;
    case val2: statement2
        break;
    ...
    default: statement
 
 
 
 
函数
function 关键字声明
例如,function functionName(arg0, arg1, ..., argN) {
    statements
}
 
严格模式的限制
1、不能把函数名命名为eval或arguments
2、不能把参数名命名为eval或arguments
3、不能出现两个参数同名情况
 
参数:
arguments,arguments对象与数组类似,可以使用方括号访问每个元素,如arguments[0],arguments[1]...
arguments.length表示有多少个参数  // (function(a,b,c){}).length 也表示有几个参数,结果为 3
 
没有重载
传统函数有签名【接收参数的类型和数量】,ECMAScript没有
默认后定义的函数覆盖前面
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值