虽然题主写的表达式很长,看起来很复杂,实际道理时一样的。从左往右一步一步来。
因为用冒号的写法是定义对象直接量的写法,所以程序不报错,不过新建对象p找不到该属性,因此输出undefined.
正确的对象直接量的写法如下
var Obj={age:18}
console.log(Obj.age)
正确的构造函数的写法如下
function Obj(){this.age=18}
var p=new Obj()
console.log(p.age)
var str="您的姓名:"str=str.replace(new RegExp(/(:)/g),"")
alert(str)
这样就行,即将str中所有的冒号替换为空字符串。
注意这个str里的冒号是中文的,所以()里也要用中文的冒号。