没有合适的资源?快使用搜索试试~ 我知道了~
不允许使用with,会报SyntaxError ·不允许未声明的变量被赋值, ReferenceError ·arguments变为参数的静态副本 ·delete参数、函数名报错 SyntaxError ·delete不可配置的属性报错 TypeError ·对象字面量重复属性名报错 SyntaxError ·禁止八进制字面量 SyntaxError ·eval,arguments变为关键字,不能作为变量、函数名 SyntaxError ·eval独立作用域
资源推荐
资源详情
资源评论
1,六种数据类型
Int
String
Object
Undefined
Arry
Bool
2,隐式转换
巧用+/-规则转换类型:
Num-0 转换成数字
Num+”” 转换成字符串
a == b: “1.23” == 1.23 类型不同,尝试类型转
换和比较
0 == false
Null == undefined
new Object() == new Object()
[1,2] == [1,2]
a === b :类型不同:返回 false
类型相同:null === null
Undefined === undefined
NaN ≠ NaN
new Object ≠ new Object
3,包装对象
Javascript 会将基础类型 string num Boolean 临时转化为相对应的类对象,可
以操作属性,比如 str.length,也可以赋值,但是调用结束之后,相应的类对象就
消失了,比如 str.t=4,alert(str.4)却为 undefined。
4,类型检测
typeof 判断基本类型和函数对象,遇到 null 失效
Instanceof 适 合 自 定义对象 ,也 可 以 用来检测 原 生 对象,不 同 window 或
iframe 间的对象类型检测不能使
Object.prototype.toString 适合内置对象和基元类型
Constructor
duck type
typeof null === “object”
obj instanceof Object:左边的左操作数对象的原型链上是否有右边构造函数的
prototype 属性。
Object.prototype.toString.apply([]); === "[object Array]";
Object.prototype.toString.apply(function(){}); === "[object
Function]";
Object.prototype.toString.apply(null); === "[object Null]";
Object.prototype.toString.apply(undefined); === "[object
Undefined]";
IE6/7/8 Object.prototype.toString.apply(null); === "[object
Object]";
5,表达式
表达式是一种 JS 短语,可使 JS 解释器用来产生一个值。——《JS 权威指南》
原始表达式 初 始 化 表 达
式
函数表达式 属 性 访 问 表
达式
调用表达式 对 象 创 建 表
达式
原始表达式:
常量、直接量 3.14 “test”
关键字 null this ture
变量 I,k,j
属性访问表达式 var o = {x:1}; o.x o[‘x’]
6,运算符
delete 运算符
var obj = {x:1};
obj.x; // 1
delete obj.x;
obj.x; // undefined
var obj = {};
Object.defineProperty(obj,’x’,{
configurable: false
value : 1
});
delete obj.x; // false
obj.x; //1
只有 configurable 是 true,才可以 delete
typeof 100 === ‘number’ // true
7,块语句和 var 语句
没有块级作用域。例如:
for (var i = 0;i<10;i++){
var str = “hi”;
console.log(str);
}
Console.log(i); // 10
声明变量语句:
foo
var a=b=1 确实创建了 a 和 b,且赋值位 1,但是 b 被隐私创建位全局变量。
8,函数等其他语句
函数声明:会被预先处理(函数前置)
fd(); // true
function fd(){
// do sth.
return
}
函数表达式:
Fe(); //TypeError
var fe = function(){
// do sth.
}
for…in 语句: 1,顺序不确定
var p; 2 ,enumerable 为 false
时不会出现
var obj = {x:1,y:2} 3 ,for in 对象属性
时受原型链影响
for (p in obj){
}
With 语句可以修改当前的作用域,但现在不建议使用
·让 JS 引擎优化更难
·可读性差
·可被变量定义代替
·严格模式下被禁用
9,严格模式
严格模式是一种特殊的执行模式,它修复了部分语言上的不足,提供更强的错误检查,并
增强安全性。
进入严格模式的方法:
function func(){
‘use strict’;
} //整个函数类是严格模式,同时可以向上兼容,如果浏览器不支持严格模式,只
会被当成普通字符串,并且被忽略
‘use strict’;
function func(){
} //指定整个 JS 文件内是严格模式
·不允许使用 with,会报 SyntaxError
·不允许未声明的变量被赋值, ReferenceError
·arguments 变为参数的静态副本
·delete 参数、函数名报错 SyntaxError
·delete 不可配置的属性报错 TypeError
·对象字面量重复属性名报错 SyntaxError
·禁止八进制字面量 SyntaxError
·eval,arguments 变为关键字,不能作为变量、函数名 SyntaxError
·eval 独立作用域
10,对象
对象中包含一系列属性,这些属性是无序的。每个属性都有一个字符串 key 和对应的
value。
function foo(){} //函数对象会默认带 prototype 属性,是对象属性
剩余16页未读,继续阅读
资源评论
github_37724934
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 安卓Android图书馆座位占座app设计可导入Studio源码案例设计.zip
- 安卓Android汽车票售票订票app设计可导入Studio源码案例设计.zip
- 安卓android高校开放式实验室管理app可导入Studio源码案例设计.zip
- [咒术回战][16][京都姐妹校交流会-团体战②-][中文][1080P].mp4
- 安卓Android车辆运输信息管理App可升级Studio源码案例设计.zip
- Android Studio移动应用开发.zip
- [咒术回战][15][京都姐妹校交流会-团体战①-][中文][1080P].mp4
- android studio-GIT.zip
- [咒术回战][14][京都姐妹校交流会-团体战⓪-][中文][1080P].mp4
- [咒术回战][13][明天见][中文][1080P].mp4
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功