function Designer_Builder(designer) {
//属性
this.owner = designer || null;
。
//属性
this.owner = designer || null;
。
解决方案 »
- 急!tomcat 报 org.apache.tomcat.util.threads.ThreadPool logFull
- 有个问题,请教
- ENCTYPE="multipart/form-data的问题!?急
- 关于MD5加密的问题,是高手就进!
- 有人在中软税务部工作吗,这个公司如何,高分请教
- 怎么取回搜索结果?
- 关于JAVABEAN,很菜的问题,大家见笑了。。(急)
- 小弟最近想开发一个购物程序,具体操作,比如向购物车里加商品,更新数量,注册等,是在javaBean中做,用servlet调用,再传到jsp页面(这
- 急,,,怎么配置JBuilderX+JBoss3.2.2(使用JBuilderX自带的JBoss插件),,,郁闷。!!!有成功配置的进来指点一下迷津,想知道怎么配
- 关于在JSP中分步显示的问题?
- 关于用户在地址栏里面直接键入页面地址的问题,望各位前辈不吝赐教,谢谢。
- java的Spring配置问题
public class Designer_Builder {
private Object owner; public Designer_Builder(Object designer) {
//属性
this.owner = designer ? designer : null;
。
}
//属性
this.owner =(designer == null ? designer || null);
。的結果
这个表达式想呈现的效果是:
当方法里的参数是true的时候,this.owner被赋值为true;
当参数为false的时候,this.owner被赋值为||符号后面的,也就是null;
这就意味着函数中的参数designer必须是一个布尔值true或者false;
可以用这个代码测试一下:
var designer = true;
this.owner = designer || 1;
alert(this.owner);var designer = false;
this.owner = designer || 1;
alert(this.owner);楼上樱木花道大大说类似于java的三元运算符我觉得有点迷惑。
因为这里用的是一个等号,应该是表示赋值而不是判断相等。
所以我就自己试了一下又询问了JS达人。得出如上结论。LZ列出的代码应该想完成的逻辑是只有函数内传过来的参数为true的时候,
owner才会有且有唯一的值true,否则该对象就是null。
主要js里面参数可以不传东西
比如Designer_Builder();这样调用是没问题的
此时designer==undefined
也就是说
this.owner = designer || null;
等价于
this.owner = designer==undefined?null:designer;
主要区分undefined和null
这不就是true或是false吗
有什么错呢
为了防止出现未定义而作
旨在动态传参数
这和java里面的方法重载是一样的
只是javascript里面没有这个说法,所以要达到重载的目的
只有写参数最多的那个函数
var a = "";
a = a || null;
alert(a); // null??
this.owner = designer || null;意思为designer 不为null返回本身 否则返回null
相当于java的三元运算符
designer || null; 在js中 第一个参数designer可以作为判断表达式 因为js中 所有数据类型都可以当布尔值用... 只要有定义的值并且不为空就是true大家测测吧,如果有错请指正
0 空字符串 false在js中其实就是相当于java里面的false一样用 a=0或者a=false一样会弹出null