zoukankan      html  css  js  c++  java
  • (WPF&Silverlight)可空,null

    可空类型即引用类型

    不可空类型即值类型

    可空,即可 = null;

     注意点:在不可null类型后加?就可以为null

    int? i = null;

    int?的范围大于int(可null的大于不可为null)

    即 int a = 1;

       int? b = a;这是可以的,但相反将int?赋值给int就不行。

    wpf中用到的多,如CheckBox的IsChecked属性即为bool?类型

    javascript中null属于初始类型(Ⅰ)之一

    而用alert(typeof (null)); 则出来是object ,object是属于两种类型的另外一种引用类型(Ⅱ)

    这是为什么呢?

    Maybe

    初始类型是存在栈中的,而引用类型是在堆中开辟空间(在栈中存储地址,指向堆中内存)

    在栈中,开辟的空间是固定的,运行速度相对较快

    在堆中,开辟的空间是可扩展的,运行速度相对较慢

    各自有利有弊,也算符合能量守恒定律

    说回null,null只是一个占位符(在栈中占一个位置),并未在堆中开辟内存。

    作用:可以清空对象,当一个引用类型无用的时候,赋值成null,内存就被释放了。(猜测- -)

  • 相关阅读:
    11.7表单事件 定时器
    11.5真11.6 函数调用 数组字符串的定义和方法
    11.2 面向对象 解析
    11.1 js数据类型 作用域 原型链
    10.31js中级作用域链和this
    定时器
    生出对象的方式
    学习this
    字符串
    全局方法
  • 原文地址:https://www.cnblogs.com/joeymary/p/4618532.html
Copyright © 2011-2022 走看看