1.变量
1.1两个变量交换值的方法
需要一个中间变量,必须按照下图的顺序来赋值
2.数据类型
数据类型分为简单数据类型与复杂数据类型
2.0 typeof()方法
typeof(变量)检查变量的数据类型
var num = 1;
console.log(typeof(num));
2.1简单数据类型
简单数据类型分为Number、String、boolean、null、undefined五种数据类型
2.1.1Number
(1)NaN
not a number 意思是不是一个数字,属于Number里面的特殊值。除此以外特殊值还有infinity和-infinity
(2)isNaN()
用于判断变量是不是一个数字,如果是数字返回false,不是数字返回true
var y = 1;
console.log(isNaN(y));
var y = 'pink';
console.log(isNaN(y));
(3)转换成Number类型的方法
parseInt()、parseFloat()这两个方法比较常用,parseInt(变量)转换成整数型,parseFloat(变量)转换成浮点型
var str = '10';
console.log(parseInt(str));
console.log(parseFloat(str));
2.1.2String
(1)字符串的引号嵌套
口诀:外双内单,内单外双
var str = "我是个'美女'程序媛";
console.log(str);
var str = '我是一个"美女"程序媛'; //更加推荐这种
console.log(str);
(2)字符串的转义字符(需要与正则表达式的元字符区别记忆)
\反斜杠就是转义,\n 换行符、\t 制表符、\b 空格、\' 单引号 、\''双引号
var str = '我是一个\n"高富帅"程序员';
(3)任何简单数据类型使用+(加号)拼接字符串都会变成字符串
(4)转变成String数据类型的方法
隐式转换:+(加号)是最常用的
var num = 1;
console.log(''+num);
2.1.3boolean
(1) boolean就两个值,true和false。true相当于数字1,false相当于数字0
(2)转变成boolean数据类型的方法
Boolean(变量)强制转换成布尔类型,null、0、undefined、''、NaN转换成false,其它值皆转换成true
console.log(Boolean(null));
console.log(Boolean(0));
console.log(Boolean(undefined));
2.1.4undefined
(1)声明一个变量不赋值就是undefined
var z;
console.log(z);
(2)undefined+数字的值是NaN
2.1.5null
(1)声明一个变量便赋值为null,就是null
var a = null;
(2)使用typeof()检查null的数据类型,结果为object
(3)null与数字相加为数字本身
对于以上部分的总结
(1)isNaN()、typeof()以及转换数据类型使用到的方法,都是不需要变量去调用方法的。除了转化成String类型的toString()是需要变量调用之外,当然toString()方法后面的字符串对象会提到。
(2)转变数据类型使用到的方法,方法名是一个单词的——首字母大写,方法名是两个单词的——驼峰命名规则。
(3)isNaN()方法和typeof()既不首字母大写也不符合驼峰命名规则
2.2复杂数据类型
复杂数据类型就是对象。对象分为自定义对象、内置对象和浏览器对象
2.2.1自定义对象
(1)创建
字面量的方式创建
var person = {
name: '刘德华',
age: 18
};
注意:里面的属性名与属性值之间是用:(冒号),属性之间使用逗号分隔
new Object( )方法创建
var person = new Object();
person.age = 18;
person.name = '张学友';
(2)访问对象中的属性
对象.属性名
console.log(person.age);
对象['属性名']
console.log(person['age']); //中括号里面一定要有单引号包裹住属性名
(3)删除对象中的属性
delete 访问对象中的属性
delete person.age; //删除属性的方法一
delete person['age']; //删除属性的方法二
(4)遍历对象
for(var 变量 in 对象)
for (var key in person) {
console.log(key); //key是对象的属性名
var value = person[key];
console.log(key + ":" + value);//符号要用双引号或者单引号包裹住
}
注意:for(var 变量 in 对象)中的变量名一般为k或者key。
对象的属性值是通过person[变量]获取到的,person[变量]需要与person['属性名'](访问对象中的属性)区分开
2.2.2函数
(1)创建函数
函数声明
function sayHi() {
console.log('你好世界');
}
sayHi();
函数表达式(有等号)
var sayHell = function () {
console.log('你好明天');
}
sayHell();
(2)函数的形参与实参
function getSum(a,b){ //这里是形参接收实参值
console.log(a+b);
}
getsum(10,11) //函数被调用传入的值是实参
注意:当实参数大于形参数,后面多于的实参直接忽略
当实参数小于形参数,没有接收到值的形参值为undefined,函数有算数运算值为NaN
(3)函数的return语句
- return语句后面的代码不执行
- return语句只返回一个值
- return语句需要返回多个值时,多个值可以用数组来包括
//return使用数组返回多个值
function getResult(a, b) {
return [a + b, a - b, a * b, a / b]
}
console.log(getResult(20, 10));