JavaScript学习笔记
来源:互联网 发布:网络炒作kim 编辑:程序博客网 时间:2024/06/12 18:45
1. 数据类型和变量
1.1 等式
在下面的示例中,JavaScript 传入字符串”1”,并将其转换为 true,然后与布尔值 true 比较。
"1" == true
返回:true
当你使用 == 或 != 运算符时,JavaScript 首先将每个值转换为相同类型(如果不是相同类型的话);因此叫做“转型”!这通常不是你希望出现的行为,比较值是否相等时使用 == 和 != 运算符并不是很好的做法。
绝对相等
相反,在 JavaScript 中,最好使用绝对相等的方法看看数字、字符串或布尔型数值等在类型和值方面是否完全相同,而不用首先转换类型。要进行绝对比较,只需在 == 和 != 运算符的末尾添加一个 =。
"1" === 1
返回:false
返回 false,因为字符串 “1” 和数字 1 并非具有相同的类型和值。
练习:看看哪些表达式为 true。
1. "3">1 2. 3!=3 3. true>=0 4. 1!==false 5. "false"===0 6. 3===3
答案: 1,3,4,6
解析:
- 在”===”和”!==”符号中,由字符类型和数值来判断,有一个不相等即不等
- 在”>”、”<”等运算符中,先将其转化为数字,在进行比较
2. 数组
2.1 数组的属性和方法
- Splice
splice()
是另一个很有用的方法,可以让你向数组的任意位置添加元素和移除任意位置的元素。
示例:
var donuts = ["glazed", "chocolate frosted", "Boston creme", "glazed cruller"];donuts.splice(1, 1, "chocolate cruller", "creme de leche"); /* removes "chocolate frosted" at index 1 and adds "chocolate cruller" and "creme de leche" starting at index 1 */
返回:[“chocolate frosted”]
donuts 数组:[“glazed”, “chocolate cruller”, “creme de leche”, “Boston creme”, “glazed cruller”]
第一个参数表示你要从哪个索引开始更改数组,第二个参数表示你要删除的元素数量,剩下的参数表示你要添加的元素。
语法:arrayObject.splice(index,howmany,item1,…..,itemX)
附上练习题:
第一次接触到index是负数的用法,觉得这道题解释的很清楚~
shift() will remove the first element from an array.
slice()
slice()
方法可从已有的数组中返回选定的元素。
语法:arrayObject.slice(start,end)
返回值
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
说明
请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。
提示和注释注释:您可使用负值从数组的尾部选取元素。
如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。
join()
join()
方法用于把数组中的所有元素放入一个字符串。
元素是通过指定的分隔符进行分隔的。
语法:
arrayObject.join(separator)
返回值:
返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入 separator 字符串而生成的。
2.1 数组forEach循环
语法:
array.forEach(function(value,index,array){// function});
- 参数:value数组中的当前项, index当前项的索引, array原始数组;
- 数组中有几项,那么传递进去的匿名回调函数就需要执行几次;
- 理论上这个方法是没有返回值的,仅仅是遍历数组中的每一项,不对原来数组进行修改;但是可以自己通过数组的索引来修改原来的数组;
练习:使用数组的 forEach() 方法 循环访问以下数组,如果某个值可以被 3 整除,则向这些值加 100。向控制台中输出 test 数组。
这里会发现写出的代码没有返回值,所以不能修改原数组,输出数组时会输出原数组。所以这里要使用索引修改数组。
代码:
var test = [12, 929, 11, 3, 199, 1000, 7, 1, 24, 37, 4, 19, 300, 3775, 299, 36, 209, 148, 169, 299, 6, 109, 20, 58, 139, 59, 3, 1, 139];// Write your code heretest.forEach( function(num,i,test) { if(test[i]%3===0){ test[i]+=100; }} ); console.log(test);
2.2 数组map循环
map和forEach的不同在于map有返回值,并且需要将数组赋予另一个新的数组(相当于复制),原数组值不发生改变。
var newarrays = myarrays.map(function(array){ //function return array;})
P.S. 附上两个方法
1.toFixed() 方法
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
NumberObject.toFixed(num)
但是这样处理以后该方法会返回一个字符串,保持了数字的“修复后”格式。所以,如果你想将字符串转换回数字,可以转型或转换回数字:
2.Number(“1”)
3.条件语句
这里有一个很有意思的判断。
“null” 是个为真的字符串。null 值本身为假。JavaScript 中的假值如下所示:
falsenullundefined0NaN""
附上这道神题..
- javascript cookie学习笔记javascript
- javascript学习笔记
- Javascript学习笔记
- JavaScript学习笔记1
- JavaScript学习笔记2
- JavaScript学习笔记3
- JavaScript学习笔记4
- JavaScript学习笔记5
- JavaScript学习笔记6
- JavaScript学习笔记7
- JavaScript 学习笔记 1
- JavaScript 学习笔记 2
- JavaScript 学习笔记 3
- JavaScript 学习笔记 4
- javascript学习笔记
- javascript学习笔记
- JavaScript学习笔记 一
- javascript学习笔记
- 第八周项目4-稀疏矩阵的三元组表示的实现及应用(2)
- 顺序队列及链队列的基本操作实现
- 自定义控件 | 仿《最美有物》点赞效果
- Maven工程在debug时报Unable to install breakpoint in XX due to missing line number attributes
- 支持向量机通俗导论(理解SVM的三层境界)
- JavaScript学习笔记
- linux下内存查看工具
- 字符统计
- [cnblogs镜像]我为什么不自建博客 谈谈自建博客的好处与坏处
- Android Dialog万能适配器
- Eclipse快捷键使用大全
- MAC & Workbench & MYSQL 入门:新建表
- 练习题
- TCP拥塞控制机制