1.JavaScript中如何检测一个变量是String类型?请写出函数实现。
var obj = 'hello'; type of obj === 'string'; typeof(obj) === 'string' obj.constructor === String; |
2.请用js去除字符串空格。
方法一:使用replace正则匹配的方法:
去除所有空格: str = str.replace(/s*/g, "");
去除两头空格: str.replace(/^s*|s$/g, "");
去除左边空格: str.replace(/^s*/, "");
去除右边空格: str.replace(/(s*$)/g, "");
js为str去除空格的栗子如下:
var str = " er dan "; var str2 = str.replace(/s*/g, ""); console.log(str2); // erdan |
方法二: 使用str.trim()方法
str.trim()局限性:无法去除中间的空格。
var str = " hello world "; var str2 = str.trim(); console.log(str2); //hello world |
同理,str.trimLeft()和str.trimRight()分别用于去除左边和右边的空格。
什么是MVVM?
在MVVM架构下,view和model之间没有直接的联系,而是通过viewModel进行交互的,model和viewModel之间的交互是双向的,因此view数据的变化会同步到model中,model数据的变化也会立即反应到view上。
viewmodel通过双向数据绑定将view层和model层连接了起来,而view和model之间的同步工作完全是自动完成的,无需人为干涉;因此开发者只需关注业务逻辑不需要手动操作DOM,不需要关注数据状态的同步问题,复杂的数据状态维护完全由MVVM来统一管理。