【面试】这些前端面试题,助你早日拿到offer

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是Model-view-viewModel的缩写。MVVM是一种设计思想。Model层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View代表UI组件,它负责将数据模型转化成UI展现出来;View-Model是一个可以同步view和model的对象。

在MVVM架构下,view和model之间没有直接的联系,而是通过viewModel进行交互的,model和viewModel之间的交互是双向的,因此view数据的变化会同步到model中,model数据的变化也会立即反应到view上。

viewmodel通过双向数据绑定将view层和model层连接了起来,而view和model之间的同步工作完全是自动完成的,无需人为干涉;因此开发者只需关注业务逻辑不需要手动操作DOM,不需要关注数据状态的同步问题,复杂的数据状态维护完全由MVVM来统一管理。
 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:/ganhuo/85.html