1.Vue 生命周期总共分为几个阶段?(必会)
2.列举三种强制类型转换
3.toString()与String()的区别
-----------------
1.Vue 生命周期总共分为几个阶段?
生命周期分为三大阶段:初始化显示、更新显示、销毁Vue实例
初始化阶段的钩子函数:
- beforeCreate() 实例创建前:数据和模板均未获取到
- created() 实例创建后: 最早可访问到 data 数据,但模板未获取到
- beforeMount() 数据挂载前:模板已获取到,但是数据未挂载到模板上。
- mounted() 数据挂载后: 数据已挂载到模板中
更新阶段的钩子函数:
- beforeUpdate() 模板更新前:data 改变后,更新数据模板前调用
- updated() 模板更新后:将 data 渲染到数据模板中
销毁阶段的钩子函数:
- beforeDestroy() 实例销毁前
- destroyed() 实例销毁后
2.列举三种强制类型转换?
转化成字符串 toString() String()
转换成数字 Number()、 parseInt()、 parseFloat()
转换成布尔类型 Boolean()
3.String()与toString()的区别?
String()和toString()方法都是将其它类型的变量转换为字符串的方法但两者存在一定的区别:
x.toString(): 无法转换null和undefined:
解析:
var a = 123;//123
var b = true;//true
var c = null;//(21段代码-报错信息位置)
var d = undefined;
console.log(a.toString());
console.log(b.toString());
console.log(c.toString());
console.log(d.toString());
运行此段代码会看到下面的报错信息。
第三行的运行结果报错了,Uncaught TypeError: Cannot read property 'toString' of undefined(…)这句话的意思为:未捕获:无法读取属性的toString定义,也就是说我们对于c这个变量没有赋值,不能找到该值,所以不能转换。
同样的第四行代码也是出错的,Uncaught TypeError: Cannot read property 'toString' of null这句话的意思未捕获TypeError:无法读取属性的toString null,意思为类型为null的变量不能应用该方法。
为了解决上面的问题重写toString()方法,代码如下:
function String(x){
if(x===undefined){
return "undefined";
}else if(x===null){
return "null";
}else{
return x.toString();
}
}
通过上面的代码我们很好的规避了刚才发生错误的两个地方。
下面我们来看String()方法:
var a=123;
var b=true;
var c;
var d=null;
console.log(String(a));
console.log(String(b));
console.log(String(c));
console.log(String(d));
通过相同代码的比较,我们可以得出String()方法较toString()方法应用范围上要更加广泛。
解析例子参考博客园:疯狂的小标点