本帖最后由 马不停蹄 于 2023-7-3 19:07 编辑
javascript基础教程(完整版)
1,获取变量的类型typeof 语法: - var age = 18;
- console.log(typeof age); // 'number'
复制代码 length属性用来获取字符串的长度
- var str = '黑马程序猿 Hello World';
- console.log(str.length);
复制代码 字符串拼接使用 + 连接
- console.log(11 + 11);
- console.log('hello' + ' world');
- console.log('100' + '100');
- console.log('11' + 11);
- console.log('male:' + true);
复制代码 2,转换成字符串类型
toString() - var num = 5;
- console.log(num.toString());
复制代码 String()
- var s = null;
- console.log(s.toString());
- console.log(String(s));
- // String()函数存在的意义:有些值没有toString(),
- // 这个时候可以使用String()。比如:undefined和null
复制代码 3,转换成数值类型Number() parseInt()
parseFloat()
+,-,-0 等运算
- var str = '500';
- console.log(+str); // 取正
- console.log(-str); // 取负
- console.log(str - 0);
复制代码 4,转换成布尔类型
- var a = Boolean('0');
- var b = Boolean(0);
- var c = Boolean('1');
- var d = Boolean(null);
- var e = Boolean(undefined);
- var f = Boolean(NaN);
- console.log(a,b,c,d,e,f); //true false true false false false
- // 0、''(空字符串) 、null、 undefined 、NaN 会转换成false 其它都会转换成true
复制代码 字符串、数值及布尔类型的数据类型转换
判断分支结构
if语句语法结构 - if (/* 条件表达式 */) {
- // 执行语句
- }
- if (/* 条件表达式 */){
- // 成立执行语句
- } else {
- // 否则执行语句
- }
- if (/* 条件1 */){
- // 成立执行语句
- } else if (/* 条件2 */){
- // 成立执行语句
- } else if (/* 条件3 */){
- // 成立执行语句
- } else {
- // 最后默认执行语句
- }
复制代码 // 判断一个数是偶数还是奇数
- var n = 10;
- if(n%2==0){
- console.log('偶数');
- }else{
- console.log('奇数');
- }
复制代码 三元运算符
表达式1 ? 表达式2 : 表达式3
是对if……else语句的一种简化写法
代码如下:
- // 是否年满18岁
- var age = 18;
- var s = age>=18?'Yes':'no';
- console.log(s);
复制代码 switch语句语法格式: - switch (expression) {
- case 常量1:
- 语句;
- break;
- case 常量2:
- 语句;
- break;
- …
- case 常量n:
- 语句;
- break;
- default:
- 语句;
- break;
- }
复制代码/* * 执行过程: * 获取表达式的值,和值1比较,相同则执行代码1,遇到break跳出整个语句,结束 * 如果和值1不匹配,则和值2比较,相同则执行代码2,遇到break跳出整个语句,结束 * 如果和值2不匹配,则和值3比较,相同则执行代码3,遇到break跳出整个语句,结束 * 如果和值3不匹配,则和值4比较,相同则执行代码4,遇到break跳出整个语句,结束 * 如果和之前的所有的值都不一样,则直接执行代码5,结束 */ - break可以省略,如果省略,代码会继续执行下一个case
- switch 语句在比较值时使用的是全等操作符, 因此不会发生类型转换(例如,字符串'10' 不等于数值 10)
复制代码 数组的创建- // 字面量方式创建数组
- var arr1 = []; //空数组
- // 创建一个包含3个数值的数组,多个数组项以逗号隔开
- var arr2 = [1, 3, 4];
- // 创建一个包含2个字符串的数组
- var arr3 = ['a', 'c'];
- console.log(arr1);
- console.log(arr2);
- console.log(arr3);
- // 可以通过数组的length属性获取数组的长度
- console.log(arr3.length);
- // 可以设置length属性改变数组中元素的个数
- arr3.length = 0;
- console.log(arr3[0]);//undefined
复制代码- var arr1 = [a,b,c]; // 一维数组
- var arr2 = [a,b,c,[d,e]]; // 二维数组
- var arr3 = [a,b,c,[d,e,[f,g]]]; // 三维数组
- var arr4 = [a,b,c,[d,e,[f,g,[h,t,y]]]]; // 四维数组
复制代码 遍历数组
for循环数组遍历的基本语法:
- for(var i = 0; i < arr.length; i++) {
- // 数组遍历的固定结构
- }
复制代码 for循环示例:
- var arr1 = [1, 3, 4];
- for(var i = 0;i<arr1.length;i++){
- console.log(arr1[i]);
- }
复制代码 whil循环示例:
- var arr1 = [1, 3, 4];
- var i = 0;
- while(i<arr1.length){
- console.log(arr1[i]);
- i++;
- }
复制代码 将数组转为字符串并以 | 分割
- //把数组中的每个名字后面拼接一个|然后以字符串的方式输出
- var names = ["卡卡西", "佐助", "凤姐", "鸣人", "黑崎一护"];
- var str = "";//空的字符串,用来存储最后的拼接的结果的字符串
- //不停的遍历数组的数据,并且拼接字符串
- for (var i = 0; i < names.length - 1; i++) {
- str += names[i] + "|";//拼接字符串的方式
- }
- str += names[names.length - 1];
- console.log(str);
复制代码 函数的返回值- //声明一个带返回值的函数
- function 函数名(形参1, 形参2, 形参...){
- //函数体
- return 返回值;
- }
- //可以通过变量来接收这个返回值
- var 变量 = 函数名(实参1, 实参2, 实参3);
复制代码 JavaScript中的对象- var obj1 = {};//得到一个空对象
- var obj2 = {name:'张三',age:18};//得到拥有两个属性的对象
- //得到拥有两个属性和一个方法的对象
- var obj3 = {
- name:'张三',
- age:18,
- fei:function(){
- console.log('你上天啊!');
- }
- }
复制代码 new Object() 创建对象 (内置构造函数)
- var person = new Object();
- person.name = 'lisi';
- person.age = 35;
- person.sayHi = function(){
- console.log('Hello,everyBody');
- }
复制代码 自定义构造函数创建对象
- function Person(name,age,job){
- this.name = name;
- this.age = age;
- this.job = job;
- this.sayHi = function(){
- console.log('Hello,everyBody');
- }
- }
- var p1 = new Person('张三', 22, 'actor');
复制代码 通过for..in语法可以遍历一个对象
- var obj1 = {
- name:'路飞',
- age : 17,
- sex : '男',
- }
- for(var k in obj1){
- console.log(k);
- console.log(obj1[k]);
- }
复制代码注意:使用for …in语法,同样可以遍历数组 注意:如果属性名或方法名,是一个变量,则使用对象[变量名] 语法 - var obj1 = {
- name:'路飞',
- age : 17,
- sex : '男',
- }
- console.log(obj1.age); //17
- delete obj1.age; //删除对象中指定的属性
- console.log(obj1.age); // undefined
复制代码 跟数学相关的运算直接使用Math中的成员即可
- console.log(Math.PI); //圆周率3.141592653589793
- Math.random();//介于 0 和 1 之间的伪随机数。
- Math.ceil(6.6);//获取大于或等于提供数值的最小整数--向上取整
- Math.floor(8.8);//获取小于或等于提供数值的最大整数--向下取整
- Math.round(9.9);//四舍五入
- Math.max(10,20,15);//取多个值中的最大值
- Math.min(10,20,15);//取多个值中的最小值
- Math.pow(10,2);//返回x的y次幂
- Math.sqrt(100);//求平方根
复制代码 求10-20之间的随机数
- Math.floor(Math.random() * (max - min)) + min;
复制代码 Date对象(构造函数)创建 Date 实例用来处理日期和时间。Date 对象基于1970年1月1日(世界标准时间)起的毫秒数。 - // 获取当前时间,UTC世界时间,距1970年1月1日(世界标准时间)起的毫秒数
- var now = new Date();
- console.log(now.getTime()); // 获取距1970年1月1日(世界标准时间)起的毫秒数
- console.log(now.valueOf()); // valueOf用于获取对象的原始值,与getTime()方法相同
- Date构造函数的参数
- 1. 毫秒数 1498099000356 new Date(1498099000356)
- 2. 日期格式字符串 '2015-5-1' new Date('2015-5-1')
- 3. 年、月、日…… new Date(2015, 4, 1) // 月份从0开始
复制代码
|