javascript基础教程(完整版)
本帖最后由 马不停蹄 于 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
[*]拼接字符串方式num+"",当 + 两边一个操作符是字符串类型,一个操作符是其它类型的时候,会先把其它类型转换成字符串再进行字符串拼接,返回字符串
3,转换成数值类型Number()parseInt()
parseFloat()
+,-,-0 等运算
var str = '500';
console.log(+str); // 取正
console.log(-str); // 取负
console.log(str - 0);4,转换成布尔类型
[*]Boolean()
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 = ;
// 创建一个包含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);//undefinedvar arr1 = ; // 一维数组
var arr2 = ]; // 二维数组
var arr3 = ]]; // 三维数组
var arr4 = ]]]; // 四维数组遍历数组
for循环数组遍历的基本语法:
for(var i = 0; i < arr.length; i++) {
// 数组遍历的固定结构
}for循环示例:
var arr1 = ;
for(var i = 0;i<arr1.length;i++){
console.log(arr1);
}whil循环示例:
var arr1 = ;
var i = 0;
while(i<arr1.length){
console.log(arr1);
i++;
}将数组转为字符串并以 | 分割
//把数组中的每个名字后面拼接一个|然后以字符串的方式输出
var names = ["卡卡西", "佐助", "凤姐", "鸣人", "黑崎一护"];
var str = "";//空的字符串,用来存储最后的拼接的结果的字符串
//不停的遍历数组的数据,并且拼接字符串
for (var i = 0; i < names.length - 1; i++) {
str += names + "|";//拼接字符串的方式
}
str += names;
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);
}注意:使用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开始
页:
[1]