1.return "hello"+(who?","+who:"");
这行代码是判断who是否为空吗?没见过这个语法
2.var type=""
function Block(){
this.new=function(){
type=type||"B1";
}
this.transform=function(type){
switch(type){
case "B1"://变纵向
type="B2";
break;
case "B2"://变横向
type="B1";
break;
}
}
}
var b=new Block();
var c=b.new();
var a=b.transform(type);
alert(type);
b.transform(type);
alert(type);
为什么b.transform(type)不能把全局变量中的B1改为B2
这插入代码片段为什么没有格式...
直接贴代码吧,希望能看懂。希望以后发问题时代码能够整理下吧
1.
2.
1.是的,括号里面的是一个三元表达式。
2.
js
调用方法传参是值传递,即b.transform(type)
实际传进去的是type
的值"B1"
,在transform()
方法内部的type
变量的值才会改变。如果楼主想达到改变全局type
的值的效果,可以将transform
方法的定义改为无参数。也可以这样理解吧:return "hello" + (who || '');
1.麻烦去搜索一个三元运算符
2.就是闭包。