• 制作火种之前的简单基础讨论传值和传址


    在服务器端js要小心使用对象,比如在vb中最常用的

    val=rs("字段")

    rs.close

    set rs=nothing

    val1=val

    Response.Write val1‘这是可以的因为这是传值

    以上代码换成js的话

    var val=rs("字段");

    rs.close();

    rs=null;

    Response.Write(val);//这不会是你想得到的,因为他是对象,是传址的一旦引用地址清空所有的引用都变成undefined

    因为rs("字段")这是一个对象 在js中对象是传址的

    就是一个传值和传址对js影响极大,那么什么数据是传址什么数据传值 js犀牛书中有一个列表我稍后贴出

    以上代码修改成

    var val=rs("字段")+"";//变成字符类型用new String()也可以但效率低建议用+""

    rs.close();

    rs=null;

    Response.Write(val);//即使引用内存的地址被清空也没关系了数据已经转换成值,他就是他自己,他不是对别人的引用。

    实际弄清楚传值和传址后你会发现这个很有用,因为以前实在弄不清哪些传值,哪些传址引起很多误会。弄清的好处不言自明。

    附:David Flanagan著的《javascript权威指南》第五版 第56页表

    ----------------------------------------------------------

       类型    |   复制    |    传递   |    比较   |

    ----------------------------------------------------------

    数字            传值          传值         传值

    布尔           传值          传值         传值

    字符串       不可变     不可变       传值

    对象           传址         传址         传址

    -----------------------------------------------------------

    我的qq:674096197,欢迎一起探讨asp javascript 不在线请弹屏一下!
  • 相关阅读:
    stm32f103 SPI单线TX发数据来驱动LCD
    【转】常见排序算法
    [转]命令行 Subversion 入门
    JLINK V8 Keil MDK4.10 STM32
    字符串表示的大整数相加
    字符串反转
    字符串表示的大整数相乘
    猴子选大王
    [转]Posix-- 互斥锁 条件变量 信号量
    [转]Openwrt的Inittab
  • 原文地址:https://www.cnblogs.com/329521/p/1654656.html
Copyright © 2020-2023  润新知