Js与PHP中同一个表达式的差异

在好多编程语言中,各自的语法可能会不同,这很正常。不过,运算符之间的差异就需要仔细探讨了,如果不清晰的理解这些微小的差异,很容易混在一起,就会写出可能有bug的程序,这是很严重的问题,这也不是一个“高手”的作风,所以摘出来,分享,研究研究。
谁能更好的解释这一点,不胜感激。

Js 代码如下:
<script>
function fun(script) {
	script = script || 'common_extra';
	alert(script);  
}
fun('common');   //alert common
</script>
PHP代码如下:
<?php
function fun($script) {
	$script = $script || 'common_extra';
	var_dump($script);
}
fun('common');   //output bool(true) 
?> 

标签: 运算符

28
Mar 2012
AUTHOR WiFeng
CATEGORY Web
COMMENTS 5 Comments

已有 5 条评论 »

  1. Ander Ander

    一个是赋值执行,一个是逻辑返回,当然不一样啦。

    1. WiFeng WiFeng

      关键是script 变量,而不是alert与var_dump的区别。

  2. Mithun Mithun

    YMMD with that awnser! TX

  3. 贾珣 贾珣

    这么写可读性貌似很差哈~

    function fun(script) {
    // 强制类型转换一下哈
    script = !!(script || 'common_extra');
    alert(script);
    }
    fun('common'); //alert true

    应该是javascript在处理类型转换时的机制问题哈~说得不一定对哈~

  4. WiFeng WiFeng

    嘎嘎

添加新评论 »

   点击刷新验证码