断点调试(逻辑出错----开发工具下切换到 sources):
a. 定位大概可能出错的位置,设置断点
b. 启动调试,单步执行(F10)
c. 在单步执行的过程中,观察变量的变化,判断变量变化与预期结果是否一致,如果一致,则继续向后执行,如果与预期结果不一致,则说明可能是错误点,分析解决错误
d. 停止调试,修改代码
数据类型:
基本(原始)类型
引用类型
内存:
在栈内存中主要存储的是基本类型的值,引用类型的"引用"
在堆内存中主要存储的是创建的对象
var arr = [1,2,3],
array = [1,2,3];
arr == array // false
var stu = {name:"张三"},
stu2 = {name:"张三"};
stu === stu2 // false
Array ES5中新增API:
遍历迭代:
array.forEach(callback)
遍历迭代数组中的每个元素,在迭代到每个元素时,都去调用 callback 函数执行。
callback 是一个函数,该函数结构:
function(currentValue, index, array) {}
-- currentValue 是当前遍历到的元素值
-- index 是当前遍历到元素在数组中的下标
-- array 是调用 forEach() 方法的数组对象
array.map(callback)
返回一个新数组,该新数组中的元素值是 callback 函数的返回值。
array.some(callback)
测试数组中是否有某元素通过 callback 函数测试。如果 callback 函数返回值为 true 则表示通过测试
array.every(callback)
测试数组中是否每个元素都通过 callback 函数测试。
array.filter(callback)
返回一个新数组,该新数组中的元素是通过 callback 测试的元素
查找:
array.indexOf(search[, fromIndex = 0])
查找 search 值在数组 array 中第一次出现的下标,如果存在则返回大于等于0的值,如果不存在,则固定返回 -1。也可以指明从指定的索引 fromIndex 处开始查找,如果未指定 fromIndex 则默认从下标0位置开始查找。
lastIndexOf()
归并:
array.reduce(callback[, initValue])
累加、累乘,callback 是遍历迭代数组元素实现累加操作时调用的函数,该函数有四个参数:sum、currentValue、index、array
reduceRight()
思考:
var array = [33, 22, 11, 5, 7, 8];
var newArray = array.map(parseInt);
问 newArray 数组中各元素是?
String 对象:
作用:用于处理文本,使用 "" 或 '' 来表示字符串
创建:
var str = "abc"; // typeof "string"
var str = new String("abc"); // typeof "object"
API:
属性:length - 长度
方法:
str.charAt(index) -- 在字符串中查找index索引处的字符
str.charCodeAt(index) -- 查找 index 索引处字符的 unicode 编码
String.fromCharCode(code) -- 将unicode编码转换为字符串
str.concat() -- 字符串连接
str.indexOf(subStr) -- 查找子字符串第一次出现的位置
str.lastIndexOf() -- 最后一次出现的位置
str.match() -- 与正则表达式相关
str.search() -- 与正则表达式相关
str.replace() -- 与正则表达式相关,替换
str.split() -- 与正则表达式相关,分割,返回数组
str.slice(start, end) -- 截取子字符串,包括开始索引处的字符,不包括结束索引处字符。end 不传递时表示截取到字符串末尾。start、end都可以取负值,表示从后向前计数
str.substring(start, end) -- 截取子字符串
str.toLowerCase() -- 转换为小写
str.toUpperCase() -- 转换为大写
str.trim() -- ES5中新增,去掉字符串前后空白