Javascript基础(一)
来源:互联网 发布:php命令行 编辑:程序博客网 时间:2024/05/22 06:50
一、数据类型
Number 不区分整数和浮点数
var x=123; x=0.456; x=1.2e4; x=-10; x=NaN; // Not a Number ,无法计算结果 x=Infinity; // Infinity表示无限大,当数过值超所能表示的最大值时,就表示为Infinity //四则运算,规则和数学一致: 7/2=3.5布尔值 true false2 / 0; // Infinity 0 / 0; // NaN
比较运算符
当我们对数据做比较时,可以通过比较运算符得到一个布尔值
JavaScript在设计时,有两种比较运算符:
第一种是
==
比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;第二种是
===
比较,它不会自动转换数据类型,如果数据类型不一致,返回false
,如果一致,再比较。由于JavaScript这个设计缺陷,不要使用
==
比较,始终坚持使用===
比较。另一个例外是
NaN
这个特殊的Number与所有其他值都不相等,包括它自己:NaN === NaN; // false
关于浮点数的比较isNaN(NaN); // true
1 / 3 === (1 - 2 / 3); // false
Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true
字符串类型
var str="Hello"; var str1=" world"; var str2=str+"the "+str1+"!"; str2='${str}the ${str1}!'; str2.length; //大小写转换 str2.toUpperCase(); str2.toLowerCase(); //查找字符串 var s = 'hello, world'; s.indexOf('world'); // 返回7 s.indexOf('World'); // 没有找到指定的子串,返回-1 var s = 'hello, world' s.substring(0, 5); // 从索引0开始到5(不包括5),返回'hello' s.substring(7); // 从索引7开始到结束,返回'world'数组var arr = [1, 2, 3.14, 'Hello', null, true]; arr.length; // 6 //查找元素 arr.indexOf("Hello"); //3 //截断数组 arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3 arr.slice(3); // 从索引3开始到结束 //向数组尾部添加若干元素 arr.push("c"); arr.pop(); // 空数组继续pop不会报错,而是返回undefined //向数组头部添加若干元素 arr.unshift("a"); arr.shift(); //空数组继续shift不会报错,而是返回undefined //排序 arr.sort(); arr.reverse(); //数组翻转 //指定的索引开始删除若干元素,然后再从该位置添加若干元素 // 从索引2开始删除3个元素,然后再添加两个元素: arr.splice(2, 3, 'Good', 3); // 返回删除的元素 //数组连接 var arr1 = ['A', 'B', 'C']; var added = arr1.concat([1, 2, 3]); var arr = ['A', 'B', 'C', 1, 2, 3]; arr.join('-'); // 'A-B-C-1-2-3'对象var student={ id: 123, name:"Helen", age : 18 } //JavaScript的对象是动态类型,你可以自由地给一个对象添加或删除属性 student.score=99; delete student.age; student.hasOwnProperty('name'); // true student.hasOwnProperty('toString'); // false
Map和Setvar m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]); m.get('Michael'); // 95 var m = new Map(); // 空Map m.set('Adam', 67); // 添加新的key-value m.set('Bob', 59); m.has('Adam'); // 是否存在key 'Adam': true m.get('Adam'); // 67 m.delete('Adam'); // 删除key 'Adam' m.get('Adam'); // undefined //重复元素自动过滤 var s = new Set([1, 2, 3, 3, '3']); s; // Set {1, 2, 3, "3"}
二、循环 判断//分支判断 if (age >= 6) { alert('teenager'); } else if (age >= 18) { alert('adult'); } else { alert('kid'); } //for循环 var arr = ['Apple', 'Google', 'Microsoft']; var i, x; for (i=0; i<arr.length; i++) { x = arr[i]; alert(x); } //一个对象的所有属性依次循环出来 var o = { name: 'Jack', age: 20, city: 'Beijing' };for (var key in o) { if (o.hasOwnProperty(key)) { alert(key); // 'name', 'age', 'city' } } //while 和 do whilefor of 循环var a = ['A', 'B', 'C'];var s = new Set(['A', 'B', 'C']);var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);for (var x of a) { // 遍历Array alert(x);}for (var x of s) { // 遍历Set alert(x);}for (var x of m) { // 遍历Map alert(x[0] + '=' + x[1]);}
foreach循环var s = new Set(['A', 'B', 'C']);s.forEach(function (element, sameElement, set) { alert(element);});var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);m.forEach(function (value, key, map) { alert(value);});
阅读全文
0 0
- Javascript基础(一)
- JavaScript 基础(一)
- javascript基础(一)
- Javascript基础(一)
- Javascript基础(一)
- JavaScript(一)-- 基础
- JavaScript基础(一)
- javascript基础(一)
- JavaScript-基础(一)
- JavaScript基础(一)
- JavaScript基础(一)
- JavaScript基础(一)
- Javascript(基础)(一)
- JavaScript基础(一)
- Javascript基础(一)
- Javascript 基础(一)
- Javascript 基础(一)
- JavaScript基础(一)
- HDU 4544|湫湫系列故事——消灭兔子|平衡树|优先队列|STL
- plugin installation in eclipse
- Debugging Android JNI with CheckJNI (用CheckJNI来调试Android JNI代码)
- linux安装jdk1.7 .tar.gz 版本
- 关于中断上下文
- Javascript基础(一)
- react native StatusBar的简单见解
- python threading/Event & Timer(3)
- 从jdbc中获取连接对象Connection的三种方法
- DBSCAN 算法初探
- JavaSript1
- 编码格式解析
- Spark做日志分析
- 算法基础之选择排序法