253 undefined与null的区别,null的使用,严格区别变量类型与数据类型

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>01_相关问题</title>
</head>

<body>
    <!--
1. undefined与null的区别?
  * undefined代表定义未赋值
  * nulll定义并赋值了, 只是值为null

2. 什么时候给变量赋值为null呢?
  * 初始赋值, 表明将要赋值为对象
  * 结束前, 让对象成为垃圾对象(被垃圾回收器回收)

3. 严格区别变量类型与数据类型?
  * 数据的类型
    * 基本类型
    * 对象类型
  * 变量的类型(变量内存值的类型)
    * 基本类型: 保存就是基本类型的数据
    * 引用类型: 保存的是地址值
-->

    <script type="text/javascript">
        // 实例: 实例对象
        // 类型: 类型对象
        function Person(name, age) { // 构造函数  类型
            this.name = name
            this.age = age
        }
        var p = new Person('tom', 12) // 根据类型创建的实例对象

        // Person('jack', 12)

        // 1. undefined与null的区别?
        var a;
        console.log(a); // undefined
        a = null;
        console.log(a); // null

        //起始
        var b = null; // 初始赋值为null, 表明将要赋值为对象
        //确定对象就赋值
        b = ['atguigu', 12];
        //最后
        b = null; // 让b指向的对象成为垃圾对象(被垃圾回收器回收)
        // b = 2

        var c = function() {

        };

        console.log(typeof c); // 'function'
    </script>
</body>

</html>


253 undefined与null的区别,null的使用,严格区别变量类型与数据类型

原文地址:https://www.cnblogs.com/jianjie/p/12235475.html

时间: 2024-11-10 09:25:14

253 undefined与null的区别,null的使用,严格区别变量类型与数据类型的相关文章

C#中NULL,&quot;&quot;,DBNULL,String.Empty,Convert.IsDBNull()的区别

C#中的空值的判断较麻烦,不象在VB6中那么简单,这些各种空值的判断和理解对不熟悉的人来说,可能很麻烦,现就我在使用过程中的一点体会和大家共同分享. (1)NULL null 关键字是表示不引用任何对象的空引用的文字值.null 是引用类型变量的默认值.那么也只有引用型的变量可以为NULL,如果 int i=null,的话,是不可以的,因为Int是值类型的. (2)DBNULL DBNull在DotNet是单独的一个类型,该类只能存在唯一的实例,DBNULL.Value,DBNull唯一作用是

Shell中的&gt;/dev/null 2&gt;&1 与 2&gt;&1 &gt;/dev/null 与&&gt;/dev/null 的区别

默认情况下,总是有三个文件处于打开状态,标准输入(键盘输入).标准输出(输出到屏幕).标准错误(也是输出到屏幕),它们分别对应的文件描述符是0,1,2 .那么我们来看看下面的几种重定向方法的区别: >/dev/null 2>&1  //  实际上,应该等同于这样: 1>/dev/null 2>/dev/null ,默认情况下就是1,标准输出,所以一般都省略. 而&符号,后面接的是必须的文件描述符.不能写成2>1,这样就成了标准错误重定向到文件名为1的文件中了,

c语言中 int *p = NULL 和 *p = NULL 有什么区别

c语言中 int *p = NULL 和 *p = NULL 有什么区别 1. int *p = NULL; 代表定义一个指向整型变量的指针p,然后p的值设为NULL,也就是设为0:用另一种方式说,就是对一个刚定义的指向整型变量的指针,赋初始值,让其指向0地址. 2. *p = NULL; 代表对一个由指针p指向的变量(什么类型,不知道),赋值为0,是将那个变量赋值为0. 我们可以先看下面的代码: 1 int *p = NULL; 这时候我们可以通过编译器查看p的值为0x00000000. 这句

Shell中的&gt;/dev/null 2&gt;&amp;1 与 2&gt;&amp;1 &gt;/dev/null 与&amp;&gt;/dev/null 的区别

默认情况下,总是有三个文件处于打开状态,标准输入(键盘输入).标准输出(输出到屏幕).标准错误(也是输出到屏幕),它们分别对应的文件描述符是0,1,2 .那么我们来看看下面的几种重定向方法的区别: >/dev/null 2>&1  //  实际上,应该等同于这样: 1>/dev/null 2>/dev/null ,默认情况下就是1,标准输出,所以一般都省略. 而&符号,后面接的是必须的文件描述符.不能写成2>1,这样就成了标准错误重定向到文件名为1的文件中了,

String s;和String s=null;和String s=&quot;a&quot;;有什么区别?

String s;和String s=null;和String s="a";有什么区别?   针对这三种情况,使用out.println(s);的时候,第一个会出现异常,第二个会输出null.第三个则会输出a.   这是为什么呢?这三句声明语句,各自作了什么呢? 答: 第一个只是定义了一个String类型变量s,并没有给它赋初值,在Java中,默认在使用一个变量的时候必须赋予它初值(降低风险). 第二个和第三个都定义了String类型变量s,并赋予它初值,只不过第二个赋予的值为null

mysql中Null与not null的区别(转载)

相信很多用了mysql很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问: 1.我字段类型是not null,为什么我可以插入空值 2.为毛not null的效率比null高 3.判断字段不为空的时候,到底要  select * from table where column <> '' 还是要用 select * from table where column is not null 呢. 带着上面几个疑问,我们来深入研究一下null 和 not null 到底有什么不一样. 首

null 与new class()的区别;static与construction

1 package fengke.hashcode; 2 /** 3 * 详细讲明了null 与new class()的区别: 4 * 分清了static与construction的运行关系: 5 * @author 锋客 6 * 7 */ 8 9 public class StacticAndConstructionTest { 10 11 public static int a = 0; 12 13 static { 14 a = 10; 15 System.out.println("父类的

【MySQL】探究之null与not null

相信很多用了mysql很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问: 我字段类型是not null,为什么我可以插入空值 为毛not null的效率比null高 判断字段不为空的时候,到底要 select * from table where column <> '' 还是要用 select * from table where column is not null 呢. 带着上面几个疑问,我们来深入研究一下null 和 not null 到底有什么不一样. 首先,我们要搞清

SQL语句中=null和is null

平时经常会遇到这两种写法:IS NOT NULL与!=NULL.也经常会遇到数据库有符合条件!=NULL的数据,但是返回为空集合.实际上,是由于对二者使用区别理解不透彻. 默认情况下,推荐使用 IS NOT NULL去做条件判断,因为SQL默认情况下对WHERE XX!= Null的判断会永远返回0行,却不会提示语法错误. 这是为什么呢? SQL Server文档中对Null值的比较运算定义了两种规则,如在SQL Server 2000中: 规则一是是ANSISQL(SQL-92)规定的Null