开篇寄语:
听命于自己的情绪,是一种放纵;无视于情绪,是一种麻木;能控制自己的情绪,是一种稳重。
你爬得高,走得远,不是为了给世界看到,而是为了看到世界。
连接上一篇文章,这里标号直接就是从上一篇算起,只为给你呈现一个完整连贯的内容。
5、数据类型
虽说JS是弱类型语言,变量没有类型,但数据本身是有类型的。针对不同的类型,我们可以进行不同的操作。
JavaScript 中有6 种数据类型,其中有五种简单的数据类型:undefined、Null、布尔、数值和字符串。一种复杂数据类型Object。
undefined
undefined类型的值是undefined。
undefined 是一个表示"无"的原始值,表示值不存在。
当声明了一个变量而没有初始化时,这个变量的值就是undefined
var box; console.log('box-----' + box); // undefined
null
null类型是只有一个值的数据类型,即特殊的值null。
undefined派生自null,所以等值比较返回值是true。
它表示空值,即该处的值现在为空,它表示一个空对象引用。
var box = null;// 空值
boolean 布尔
布尔类型有两个值:true、false。常用来做判断和循环的条件。
var flag = true;
数值型
数值型包含两种数值:整型和浮点型。
var num1 = 1;// 整型 var num2 = 1.23;// 浮点型
字符串
使用''
或 ""
引起来,如:'sxt'
,"good"
。
使用加号+
可以进行字符串的拼接,如:console.log('hello' + ' everybody');
,结果为'helloeverybody'
。
var str1 = 'sxt'; var str2 = "good"; var str3 = 'hello' + ' everybody';
函数
函数是具有某个功能的代码块
function f() { // 具有功能的代码块 }
6、类型转换
很多时候,我们在进行数据运算或输出等操作时需要将数据在不同类型之间进行转换,这里我们主要掌握数值型和字符串。
数值型(转换函数)
JS提供了parseInt()
和parseFloat()
两个全局转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)
。
parseInt()
parseInt()在转换之前,首先会分析该字符串,判断位置为0处的字符,判断它是否是个有效数字,如果不是,则直接返回NaN,不再继续,如果是则继续,直到找到非字符。
console.log(parseInt("1234blue")); // return 1234 console.log(parseInt("0xA")); // return 10 console.log(parseInt("22.5")); // return 22 console.log(parseInt("blue")); // return NaN
parseFloat()
parseFloat()方法与parseInt()方法的处理方式相似,从位置 0 开始查看每个字符,直到找到第一个非有效的字符为止,然后把该字符之前的字符串转换成数字。不过,对于这个方法来说,第一个出现的小数点是有效字符。如果有两个小数点,第二个小数点将被看作无效的,parseFloat()方法会把这个小数点之前的字符串转换成数字。
console.log(parseFloat("1234blue")); //return 1234 console.log(parseFloat("22.5")); //return 22.5 console.log(parseFloat("22.34.5")); //return 22.34 console.log(parseFloat("0908")); //return 908 console.log(parseFloat("blue")); //return NaN
字符串
几乎每个数对象都提供了toString()函数将内容转换为字符串形式。最为简单的转换为字符串的方式,直接在任意数据后面 + ''
或""
即可。
var data = 10; console.log(data.toString());// "10" data = true; console.log(data.toString());// "true" // toString()不能对null和undefined使用 data = null; // 会报错Uncaught TypeError: Cannot read property 'toString' of null // console.log(data.toString()); data = undefined; // 会报错Uncaught TypeError: Cannot read property 'toString' of null // console.log(data.toString()); // 拼接字符串可以对null和undefined使用 data = null + ''; console.log(data.toString()); data = undefined + ""; console.log(data.toString());
7、运算符
运算符用于执行程序代码运算,会针对一个及其以上操作数来进行运算。
算数运算符
赋值和扩展运算符
比较运算符
逻辑运算符
三目运算符
var a = 3;
var b = 5;
// 3大于5吗(返回true|false) ? 大于(true)返回a : 小于(false)返回b
var result = a > b ? a : b;
console.log(result);
8、控制语句
我们写的JavaScript代码都是按照从上到下依次执行,很多时候我们希望代码按照我们的意愿去执行,比如有选择性地执行某些代码,或者重复地执行某些代码,这就需要使用到流程控制语句。
流程控制语句一共有三种:
a. 流程执行: 从上到下,从左到右
b. 选择执行: 分支选择
c. 循环执行: 重复执行
选择执行
单选择
if (条件表达式) { 语句体; }
首先执行条件 如果结果为true,则执行语句体; 如果结果为false,则结束if语句。 注意:若语句体只有一条语句,可以省略大括号,但不建议省略
双选择
if (条件表达式) { 语句体1; } else { 语句体2; }
首先执行条件
如果结果为true,则执行语句体1;
如果结果为false,则执行语句体2。
多选择
if (条件表达式1) { 语句体1; } else if (条件表达式2) { 语句体2; } else if (条件表达式3) { 语句体3; } ... [else { 语句体n+1; }]
循环执行
循环结构用于重复执行某个操作,简单理解就是重复执行同类型的代码,它有多种形式,这里我们主要掌握for循环。
for (初始化语句; 判断条件语句; 控制条件语句) { 循环体语句; } for (var i = 0; i < 10; i++) { console.log(i); }
break与continue
break: 停止本层循环 continue: 暂停本次循环,继续下一次。
今日分享到这里,下一篇我们不见不散。