1.变量的声明和赋值
什么是变量
变量是计算机编程中的一个基本概念,它用于存储和操作程序中的数据。变量可以用来存储数字、字符串、对象、数组等各种数据类型的值。
在 JavaScript 中,变量可以通过声明和赋值来创建。在声明变量时,需要使用关键字var
、let
或const
来指定变量的名称和数据类型。其中,var
和let
声明的变量可以在程序运行期间修改其值,而const
声明的常量则不能修改其值。
例如,以下代码声明了一个名为myVariable
的变量,并将其初始化为字符串"Hello, World!":
let myVariable = "Hello, World!";
在程序运行期间,可以使用变量来存储和操作数据。例如,可以使用myVariable
来存储用户输入的文本,或者对其进行计算和处理。变量的值可以在程序的不同部分被访问和修改。
变量的命名规则
- 变量名必须以字母、下划线或美元符号开头。
- 变量名只能包含字母、数字、下划线或美元符号。
- 变量名不能是 JavaScript 中的保留关键字,如
var
、let
、const
、function
、if
、else
等。 - 变量名应该尽量简洁明了,能够清晰地表达其含义。
- 变量名应该采用驼峰式命名法(Camel Case)或下划线命名法(Underline Case),例如
myVariable
或my_variable
。 - 变量名应该避免使用容易混淆的字符,如数字 0 和字母 o、数字 1 和字母 l 等。
变量的赋值
- 使用等号
=
将值赋给变量。 - 可以将一个常量、变量、表达式或函数的返回值赋给变量。
- 可以将一个对象或数组的属性或元素赋给变量。
- 可以使用字符串、数字、布尔值、对象、数组等类型的值进行赋值。
示例:
// 声明并赋值变量
let myVariable = 10;
let myString = "Hello, World!";
let myBoolean = true;
let myObject = { name: "John", age: 30 };
let myArray = [1, 2, 3, 4, 5];
// 访问和修改变量的值
myVariable = 20;
myString = myString + "!";
myBoolean = false;
myObject.name = "Jane";
myArray.push(6);
在上述示例中,声明了几个变量并对其进行赋值和修改。请注意,变量的类型是根据其赋值的类型来确定的,并且可以在运行时更改。在实际编程中,应该根据具体需求合理地命名和赋值变量,以提高代码的可读性和可维护性。
对象类型
在 JavaScript 中,对象(Object)是一种无序的键值对集合,用于存储相关的数据。对象是一种复杂的数据类型,可以包含多个属性和方法。
对象的创建可以使用花括号{}
来声明,并使用逗号,
分隔键值对。键是一个字符串,用于标识属性,值可以是任何类型的数据,如字符串、数字、布尔值、对象、数组等。
例如,创建一个包含名字和年龄的对象可以这样写:
var person = {
name:'yunhe',
aeg:30
};
在这个例子中,person
是对象的名称,name
和age
是对象的属性,分别对应于名字和年龄的值。
可以通过点号.
或方括号[]
来访问对象的属性和方法。例如,要访问对象person
的名字,可以这样 写:
console.log(person.name);//输出:yunhe
要访问对象person
的年龄,可以这样写:
console.log(person.aeg);//输出:30
判断数据类型
使用 typeof
操作符:typeof
操作符可以返回一个字符串,表示被操作数的类型
typeof
操作符是 JavaScript 中的一种一元运算符,用于返回操作数的类型。
typeof
操作符接受一个操作数作为参数,并返回一个字符串,表示该操作数的类型。这个字符串可能是以下值之一:
- "string":表示操作数是一个字符串类型。
- "number":表示操作数是一个数字类型。
- "boolean":表示操作数是一个布尔类型。
- "object":表示操作数是一个对象类型。
- "function":表示操作数是一个函数类型。
- "undefined":表示操作数是
undefined
。 - "symbol"(在 ES6 及以上版本中):表示操作数是一个符号类型。
例如:
console.log(typeof 10); // 输出: number
console.log(typeof "Hello, World!"); // 输出: string
console.log(typeof true); // 输出: boolean
console.log(typeof {}); // 输出: object
console.log(typeof function() {}); // 输出: function
console.log(typeof null); // 输出: object
console.log(typeof Symbol()); // 输出: symbol (在 ES6 及以上版本中)
String
String
是 JavaScript 中的一种基本数据类型,用于表示文本数据。
-
字符串用单引号或双引号包括起来
-
单双引号均不能解析变量
-
变量与字符串,变量与变量之间可以使用运算符‘+’来链接
-
单引号和双引号可以互相嵌套,如果单引号中要嵌套单引号,需要使用转义字符
转义字符
转义字符是一种特殊的字符序列,用于表示一些特殊的字符或控制字符。在 JavaScript 中,转义字符通常用于表示一些特殊的字符,例如换行符、制表符、双引号、单引号等。
字面量 | 含义 |
\n | 换行符 |
\t | 制表符 |
\b | 退格符 |
\r | 回车键 |
\\" | 双引号 |
\\' | 单引号 |
\0 | 空字符 |
\uXXXX | 十六进制 Unicode 字符,其中XXXX 表示四个十六进制数字 |
\xXX | 十六进制 ASCII 字符,其中XX 表示两个十六进制数字 |
例如,要在字符串中输出一个双引号,可以使用反引号\\"
来转义:
let str = "He said, \"Hello, World!\"";
console.log(str); // 输出: He said, "Hello, World!"
Number
Number
是 JavaScript 中的一种基本数据类型,用于表示数字。它可以存储整数和浮点数,并且可以进行数学运算。
在 JavaScript 中,可以使用数字直接量或变量来创建Number
类型的值。例如:
let num1 = 10; // 创建一个整数变量 num1,值为 10
let num2 = 3.14; // 创建一个浮点数变量 num2,值为 3.14
也可以使用Number()
函数将其他类型的值转换为数字类型。例如:
let strNum = "10";
let num3 = Number(strNum); // 将字符串"10"转换为数字 10,并将结果存储在变量 num3 中
Number
类型的值可以进行数学运算,例如加法、减法、乘法、除法等。例如:
let num1 = 10;
let num2 = 3.14;
let sum = num1 + num2; // 计算 num1 和 num2 的和,并将结果存储在变量 sum 中
console.log(sum); // 输出: 13.14
整形
整形是一种用于表示整数的数值类型,它可以表示从负无穷大到正无穷大的整数。在编程语言中,整形通常使用整数直接量或变量来表示。例如,在 JavaScript 中,可以使用 10、-5、12345 等整数直接量来创建整形变量。
浮点型
浮点型是一种用于表示带有小数部分的数字的数值类型,它可以表示从负无穷大到正无穷大的浮点数。在编程语言中,浮点型通常使用小数直接量或变量来表示。例如,在 JavaScript 中,可以使用 3.14、-1.23、123.45 等小数直接量来创建浮点型变量。
Boolean
Boolean
是一种数据类型,用于表示逻辑值,即真(true
)或假(false
)
Boolean
类型通常用于表示条件的真假、开关状态、逻辑判断
true
:表示逻辑真。false
:表示逻辑假。- 条件表达式的结果:例如
5 > 3
的结果为true
,5 < 3
的结果为false
。 - 布尔运算符的结果:例如
!false
的结果为true
,!!false
的结果为false
。
var a=10;
if(a>9){
alert('true')
}else{
alert('fales')
};
在上述代码中,创建一个名字为a的数值,并用if语句进行判断,如果结果为真,则为true,反之,则为fales
Array
Array
是一种动态数组类型,用于存储一组有序的元素。它可以存储不同类型的数据,并且可以根据需要动态地添加或删除元素
创建数组
使用方括号[]
创建数组:
let arr = [1, 2, 3, 4, 5];
创建并获取数组的值
// 创建数组并赋值
let arr = [1, 2, 3, 4, 5];
// 获取数组中的值
console.log(0);
console.log(1);
console.log(2);
console.log(3);
console.log(4);
console.log(5);
在上述代码中,创建了一个以arr命名的数组,并依次打印出数组的内容,从0开始,到5结束,分别对应数组里值的下标,1的下标为0,2的下标为1,以此类推
数组的方法
push()
:向数组的末尾添加一个或多个元素。pop()
:从数组的末尾删除一个元素。shift()
:从数组的开头删除一个元素。unshift()
:向数组的开头添加一个或多个元素。slice()
:从数组中提取一部分元素,并将它们作为一个新数组返回。filter()
:创建一个新数组,其中包含通过测试的所有元素。sort()
:对数组中的元素进行排序。reverse()
:反转数组中元素的顺序。
符号拼接
var arr =['河南','北京','上海'];
document.writeln(arr.join('-'));
两数组拼接
var arr=['河南','北京','上海'];
var arr1=['天津','河北','山东'];
var arr2=[...arr,...arr1];
document.write(arr2);
头部添加
var arr=['河南','北京','上海'];
arr.unshift('天津','河北','山东');
document.write(arr);
尾部添加
var arr=['河南','北京','上海'];
arr.push('天津','河北','山东');
document.write(arr);
头部删除
var arr=['河南','北京','上海'];
var arr1=arr.shift();
// document.write(arr1); 输出被删除的数据
document.write(arr); 输出删除后的数据
尾部删除
var arr=['河南','北京','上海'];
var arr1=arr.pop();
// document.write(arr1);
document.write(arr);
添加删除
var arr=['河南','北京','上海'];
splice(开始删除的位置,删除内容的长度,删除后添加的新内容)
var arr1=arr.splice(2,1,'山东');
document.write(arr)
正序倒序
var arr=['河南','北京','上海'];
document.write(arr.reverse());
从小到大排序
var arr = [5, 3, 8, 2, 1];
numbers.sort(function(a, b) {
return a - b;
});
console.log(arr); // 输出: [1, 2, 3, 5, 8]
多维数组
多维数组是指数组中的每个元素又是一个数组,形成嵌套的结构。在编程中,多维数组可以用来存储和处理具有嵌套关系的数据。
以下是在 JavaScript 中创建和访问多维数组的示例:
// 创建一个二维数组
let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
// 获取二维数组中第一行的第一个元素
let firstRowFirstElement = arr[0][0];
console.log(firstRowFirstElement); // 输出 1
// 获取二维数组中第二行的第三个元素
let secondRowThirdElement = arr[1][2];
console.log(secondRowThirdElement); // 输出 6
Object 对象
对象
属性:本身所拥有的特性
方式:能做的事情
{ },使用{ }包括起来的都是对象
[ ], 使用[ ]包括起来的都是数组
创建对象
在 JavaScript 中,Object
对象是一种通用的数据结构,用于存储和组织相关的数据和功能。它是除了基本数据类型(如字符串、数字、布尔值等)之外的一种复杂数据类型。
Object
对象可以包含多个属性(键值对),其中键是一个字符串或符号,用于标识属性,而值可以是任意类型的数据。属性可以通过键来访问和操作。
以下是在 JavaScript 中创建和访问Object
对象的示例:
// 创建一个空的 Object 对象
let person = {};
// 添加属性和值
person.name = "John";
person.age = 30;
// 访问属性和值
let name = person.name;
console.log(name); // 输出: John
let age = person.age;
console.log(age); // 输出: 30
在上面的示例中,我们使用花括号{}
创建了一个空的Object
对象person
。然后,我们使用点号.
来添加属性和值,例如person.name = "John"
和person.age = 30
。最后,我们使用点号和属性名来访问属性和值,例如person.name
和person.age
Object
对象还可以包含方法,方法是与对象关联的函数,可以通过对象的属性来访问和调用。方法可以用于对对象中的数据进行操作或执行其他相关的任务。
Object
对象在 JavaScript 中被广泛使用,可以用于表示复杂的数据结构、模型、配置、状态等。它们提供了一种灵活和可扩展的数据组织方式,可以根据需要动态地添加和修改属性和方法。
除了直接创建Object
对象,还可以使用对象字面量、构造函数等方式来创建对象。此外,JavaScript 中的数组、函数等也都是对象的一种特殊形式。对象在编程中扮演着重要的角色,是构建复杂应用程序和处理数据的基础。
2.数据类型转换
转为字符串
自动转换
类型 | 转换字符串型后的结果 |
number | NaN、0、或数值对应的字符串 |
null | "null" |
boolean | "true"、"false" |
undefined | "undefined" |
object | 若对象存在为其toString()方法的值,若对象不存在为"undefined" |
转为数字类型
强制转换
类型 | 转换为数字型后的结果 |
string | 若内容为数字则为相应数字,否则为NaN |
null | 0 |
boolean | true转为1,false转为0 |
undefined | NaN |
object | NaN |
Number() 按照自动转换规则转换
parseInt(string) 、parseFloat(string)
isNaN() 函数用于检查其参数是否是非数字值
Number()
函数:将其他类型的值转换为数字类型。
let str = "123";
let num = Number(str); // 输出: 123
转为布尔类型
类型 | 转换布尔型后的结果 |
""或'' | false |
0或0.0 | false |
NaN | false |
undefined | false |
null | false |
其它 | true |
在==比较的过程中,数据转换的规则 类型一样的几个特殊点:
{} == {} false,对象对比的是堆内存的地址 [] == [] false NaN == NaN false
类型不一样的转换规则:
-
null == undefined true,但是换成 === 结果是false(因为类型不一致),剩下null/undefined和其他任何数据类型值都不相等
-
字符串 == 对象,要把对象转为字符串
-
剩下如果 == 两边数据类型不一致,都是需要转换为数字再进行比较
如果类型都是字符串,就会按照ASCII编码的进行对比
4.运算符
- 算术运算符:用于执行基本的算术运算,包括加、减、乘、除等。常见的算术运算符包括:
+
:加法运算符-
:减法运算符*
:乘法运算符/
:除法运算符%
:取模运算符
- 位运算符:用于执行位运算,包括按位与、按位或、按位异或等。常见的位运算符包括:
&
:按位与运算符|
:按位或运算符^
:按位异或运算符~
:按位取反运算符
- 赋值运算符:用于给变量赋值。常见的赋值运算符包括:
=
:赋值运算符+=
:加等于运算符-=
:减等于运算符*=
:乘等于运算符/=
:除等于运算符%=
:取模等于运算符
- 比较运算符:用于比较两个值的大小关系,包括等于、不等于、大于、小于等。常见的比较运算符包括:
==
:等于运算符!=
:不等于运算符>
:大于运算符<
:小于运算符>=
:大于等于运算符<=
:小于等于运算符
- 逻辑运算符:用于执行逻辑操作,包括与、或、非等。常见的逻辑运算符包括:
&&
:逻辑与运算符||
:逻辑或运算符!
:逻辑非运算符
- 条件运算符:用于根据条件选择不同的值。常见的条件运算符包括:
?
:条件运算符:
:条件运算符的两个值之间的分隔符