js基础(第二天)
今日主要学习js的几个数据类型
String类型
JavaScript的字符串类型用于表示文本数据。它是一组16位的无符号整数值的“元素”。在字符串中的每个元素占据了字符串的位置。第一个元素的索引为0,下一个是索引1,依此类推。字符串的长度是它的元素的数量。
字符串可以是引号中的任意文本。您可以使用单引号或双引号。
字符串一旦创建,它们的值就不能改变。
转换字符串的方法有三种方式:
-
toString();
数值、布尔值、对象和字符串值变量都有 toString()方法。但 null 和 undefined 值没有这个方法。
eg:
var age = 11;
var ageAsString = age.toString(); // 字符串"11"
var found = true;
var foundAsString = found.toString(); // 字符串"true"
- 使用String()构造器:
eg:
var num2 = 50;
var str1 = String(num2);
console.log(typeof str1); //返回string
- 使用字符串连接符+:
eg:
var num3 = 60;
var str1s = num3 +'';
console.log(typeof str1s); //返回string
模板字符串(``):它可以在你想要换行时,不需要用换行符就直接能换行。
${age}可以作为变量插入字符串中,不需要再用+号拼接。
eg:
var name = '小明'; var age = 20;
var message = `你好, ${name}, 你今年${age}岁了!`;
alert(message);
Boolean类型
布尔类型的值只能有2个:true或false。
它一般用于条件测试中去。
转换boolean类型
能够转换为false的值有:0、0.0、-0、“ ”、null、undefined、false。
eg:
var a = 100;
console.log(Boolean(a)); //true
// 数字0转成boolean时是false
var b = 0;
console.log(Boolean(b)); //false
var c = 0.0;
console.log(Boolean(c)); //false
var d = -0;
console.log(Boolean(d)); //false
// 字符串转boolean
var str1 = '你好';
console.log(Boolean(str1)); //true
var str2 = ''; //空字符
console.log(Boolean(str2)); //false
var str3 = ' '; //字符 空格
console.log(Boolean(str3)); //true
// null和undefined
console.log(Boolean(null)); //false
console.log(Boolean(undefined)); //false
// [] 空数组 {} 空对象
console.log(Boolean([])); //true
console.log(Boolean({})); //true
// false
console.log(Boolean(false)); //false
undefined类型
出现undefined的情况有:
<script>
//1
var num;
console.log(num);
//2
function show() {
var a = 1;
}
console.log(show());
//3
function change(a, b) {
console.log(a, b);
}
change(122);
//4
var arry = [];
console.log(arry[0]);
//5
var obj = {};
console.log(obj.name);
</script>
Array类型
多个数据的集合,更多的时候放的是同类型的数据,每个数据称为是元素。
数组的创建:
动态:数组声明及赋值分开操作
var myCars = new Array();
myCars[0] = "Saab";
myCars[1] = "Volvo";
myCars[2] = "BMW";
静态:数组声明及赋值一个语句完成
var arry = [1, 2, 3, 1];
数组转换为字符串可以用join();
字符串转换为数组可以用split();
这里说一下数组的相等问题:
eg:arry[1] === arry[3]
是因为它们指向同一个数值及地址,在我们创建数组的同时,若发现前面元素已经存在,后面元素若想得到相同的数值,不用再去创建新的数值,而是直接拿去前面创好的元素,故它们的地址和数值都应相等。
console.log([] == []); //false
console.log([] === []); //false
是因为这是二个数组,判断两个数组是否相等时,不是根据值,是根据引用的地址来判断;即数组的地址不相等,那么它的值也就不会相等。
Object类型
同数组一样,两个对象是否相等时,不是根据值,是根据引用的地址来判断;
var obj1 = {
name: '小明'
};
var obj2 = {
name: '小明'
};
console.log(obj1 == obj2); //false
console.log(obj1 === obj2); //false
console.log(obj1.name == obj2.name); //true
console.log(obj1.name === obj2.name); //true
这里由于在obj1创建了name属性,故在obj2时就不会在创建一个name属性了,它会直接拿去obj1中的name属性及其它的属性值,所以地址值都应相等。
Javascript函数
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
主要函数分为3部分:
- 函数的声明 用function关键字声明
- 函数的参数 分为形参和实参,形参是指在函数声明时括号中的参数,实参是在调用函数时括号中的参数。当实参大于形参时,多余的实参不被使用。
- 函数的返回值 用return关键字去返回,函数体遇到它就会结束函数执行,它可以通过一个参数去接受它的返回值。
本文地址:https://blog.csdn.net/qq_48784569/article/details/107389589