目录
实时预览
编写位置
数据类型
其他类型转换为string类
1.toString ()方法
2.调用 String()函数;
其他数据类型转换为number
1.调用Number()函数
2.parseInt()/parseFloat()
其他类型转布尔
this
使用工厂方式创建对象
构造函数
数组
concat()
push()
pop()
splice()
substring()
substr()
其他
Date 对象
Date 对象
获取几号
返回周几(0-6)周日返回0
返回月份(0-11) 1月从0开始
获取时间戳
其他
包装类
实时预览
安装插件
页面下方出现 Go Live
就可以了。
编写位置
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script type="text/javascript">
document.write("页面");
console.log("我是控制台呀看到我了吗"); //控制台输出
alert("我是弹框"); //弹框
</script>
</head>
<body>
</body>
</html>
数据类型
六种数据类型(包括五种基本数据类型)
string 字符串
number 数值
boolean 布尔
null 空值
undefined 未定义
object 对象
其他类型转换为string类
1.toString ()方法
var a = 123;
a = a.toString();
console.log(typeof a); //输出数据类型
console.log(a);
var a = true;
a = a.toString();
console.log(typeof a); //输出数据类型
console.log(a);
但是null和undefined没有此方法,so..
a = null ;
a.toString();
a = undefined ;
a.toString();
会报错。
2.调用 String()函数;
此方法将转换的数据作为参数传递给函数。
var a = 123;
a = String(a);
//将a转换为字符串。
a = null;
a = String(a);
//将null类型转换为string类 a = "null"
a = undefined;
a = String(a);
//将undefined转化为string类 a = "undefined"
其他数据类型转换为number
1.调用Number()函数
同上,
注意(1字符串含有非数字转换为NaN;
(2 空串或null类型转化为0;
(3布尔类型转为 1或0
(4 undefined 转换为NaN
2.parseInt()/parseFloat()
专门用于带非字符的字符串
var a = "130 px 123";
a = parseInt(a);
//取出有效整数,从第一位开始不是整数位就停止
var a = "130 px";
a = parseFloat(a);
//取出有效小数
其他类型转布尔
- 数字 除了0和NaN都是true
- 字符串 除了空串都是 true
- null和undefined 都是 false
this
解析器在调用函数每次都会像函数内部传递一个隐含的参数,这个隐含的参数就是this,this是指向一个对象
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script type="text/javascript">
function fun() {
console.log(this.name);
}
var obj = {
name: "孙悟空",
sayname: fun
};
//console.log(obj.name);
// console.log(obj.sayname);
var obj2 = {
name: "沙和尚",
sayname: fun
};
var name = "全局name属性";
obj.sayname(); //孙悟空
obj2.sayname(); //沙和尚
fun(); //全局name属性
</script>
</head><body>
</body>
</html>
使用工厂方式创建对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script type="text/javascript">
function creatobj(name, age, gender) {
var obj = new Object();
obj.name = name;
obj.age = age;
obj.gender = gender;
obj.sayname = function() {
alert(this.name);
}
return obj;
}
var obj2 = creatobj("1", 18, "1");
var obj3 = creatobj("2", 20, "0");
console.log(obj2);
console.log(obj3);
</script>
</head>
<body>
</body>
</html>
构造函数
* 创建一个Person构造函数
-在Person构造函数中,为每一个对象都添加了一个sayName方法,目前我们的方法是在构造函数内部创建的,也就是构造函数每执行一次就会创建一个新的sayName方法 也是所有实例的sayName都是唯一的。 这样就导致了构造函数执行一次就会创建一个新的方法,执行10000次就会创建10000个新的方法,而10000个方法都是一摸一样的。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script type="text/javascript">
function Person(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
//向对象添加一个方法,每执行一次就创建一次
this.sayname = function() {
alert("我叫" + this.name);
}
}
var obj2 = new Person("1", 18, "1");
var obj3 = new Person("2", 20, "0");
console.log(obj2);
obj2.sayname();
console.log(obj3);
obj3.sayname();
</script>
</head>
<body>
</body>
</html>
在Person构造函数中,为每一个对象都添加了一个sayName方法,目前我们的方法是在构造函数内部创建的,也就是构造函数每执行一次就会创建一个新的sayName方法 也是所有实例的sayName都是唯一的。 这样就导致了构造函数执行一次就会创建一个新的方法,执行10000次就会创建10000个新的方法,而10000个方法都是一摸一样的。
这是完全没有必要,完全可以使所有的对象共享同一个方法
构造函数修改
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script type="text/javascript">
function Person(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
this.sayname = say;
}
function say() {
alert("我名字" + this.name);
}
var obj2 = new Person("1", 18, "1");
var obj3 = new Person("2", 20, "0");
console.log(obj2);
obj2.sayname();
console.log(obj3);
obj3.sayname();
</script>
</head>
<body>
</body>
</html>
数组
concat()
concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
//concat()
var arr1 = [1];
var arr2 = [2, 3, 4, 5];
var arr3 = arr1.concat(arr2);
console.log("数组1:" + arr1); //1
console.log("数组2:" + arr2); //2345
console.log("数组3:" + arr3); //12345
输出:
push()
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
//push 末尾添加元素,并返回新的长度
var num = arr1.push(2, 3, 4); //添加并返回新的长度
console.log("添加元素后数组1的长度 :" + num); //4
console.log("数组1 :" + arr1);
输出
pop()
pop()方法用于删除并返回数组的最后一个元素。
//pop 删除并返回数组最后一个元素
console.log("返回数组1最后一个元素 :" + arr1.pop());
输出
splice()
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
注释:该方法会改变原始数组。
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
splice(index1,index2,index3) 方法会直接对数组进行修改。
index1,表示开始位置的索引
index2,表示删除的数量
index3及以后 可以传递一些新的元素,这些元素将会自动插入到开始位置索引前边
var a = [5, 6, 7, 8];
console.log("被删除的元素 :" + a.splice(1, 0, 9)); //[]
console.log("数组a : " + a); // [5, 9, 6, 7, 8]
var b = [5, 6, 7, 8];
console.log("被删除的元素 :" + b.splice(1, 2, 3)); //[6, 7]
console.log("数组b :" + b); //[5, 3, 8]
输出:
substring()
substring() 方法用于提取字符串中介于两个指定下标之间的字符。返回的子串包括 start 处的字符,但不包括 stop 处的字符。
console.log("123456789".substring(2, 5)); // "345"
substr()
substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
substr(start,length)
start 要抽取的子串的起始下标。必须是数值。可为负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符
length 可选。子串中的字符数。
console.log("123456789".substr(2, 5)); // "34567"
其他
Date 对象
Date 对象
用于处理日期和时间。
直接构造函数创建一个Date对象,则会封装当前代码执行时间
var d = new Date();
console.log(d);
创建一个指定的时间对象
需要在勾庄函数中传递一个表示时间的字符串作为参数
格式 "月/日/年 时:分:秒"
var d2 = new Date("1/27/2019 12:10:23");
console.log(d2);
获取几号
console.log(d2.getDate());
返回周几(0-6)周日返回0
console.log(d2.getDay());
返回月份(0-11) 1月从0开始
console.log(d2.getMonth());
获取时间戳
时间戳:从格林威治标准时间 1970/1/1 0时0分0秒到当前日期所花费的毫秒数
console.log(d2.getTime());
其他
包装类
* 基本数据类型
* String Number Boolean Null Undefined
* 引用数据类型
* Object
* 在JS中为我们提供了三个包装类,通过这三个包装类可以将基本数据类型的数据转换为对象
* String()
* - 可以将基本数据类型字符串转换为String对象
* Number()
* - 可以将基本数据类型的数字转换为Number对象
* Boolean()
* - 可以将基本数据类型的布尔值转换为Boolean对象
* 但是注意:我们在实际应用中不会使用基本数据类型的对象,
* 如果使用基本数据类型的对象,在做一些比较时可能会带来一些不可预期的结果
var num = new Number(3);
num.hello = "abcdefg";
console.log(num.hello);
写到这我发现我大一学的web已经全部想起来了,,,