js学习笔记(1)

javascript 是一种动态语言,解释性语言,脚本语言。

特点:声明变量的关键字只有一个var,解释型语言解释一行执行一行,现解释现执行,而且数据的类型天生就是浮点型。

** 由值来决定变量类型 **

typeof() -- 返回变量的数据类型

值类型--数据类型

分类:

  1. 不可改变的原始值(栈数据)
  • Number, String, Boolean, undefined, null
  1. 引用值(堆数据)
  • array, object, function

详细分析:

1. Number:数值类型
  • 如:
var a = 2;
var a = -3.1415;
var a = 100;
2. String:字符串类型
  • 无论在双引号里面写的是什么,都是叫字符串。
  • 如:
    
js学习笔记(1)_第1张图片
image.png
3. Boolean 布尔类型
  • 两个值:true, false
  • 如:
var a = true;
document.write(typeof(a) + " : " + a);
document.write("
"); var b = false; document.write(typeof(b) + " : " + b);
js学习笔记(1)_第2张图片
image.png
4. undefined
  • 值就为undefined,意思:没有定义的。
  • 表示: 一个变量经过了声明但没有赋值,其值就为undefined。
  • 如:
var a = undefined;
document.write(typeof(a) + " : " + a);
document.write("
"); var b; document.write(typeof(b) + " : " + b);
js学习笔记(1)_第3张图片
image.png
5. null
  • 表示一种占位,就是为了占位置。
  • null -- 空的,把原来的东西覆盖掉就是用null。
  • 注意:null数据类型为:object。
  • 如:
var a = null;
document.write(typeof(a) + " : " + a);
js学习笔记(1)_第4张图片
image.png
6. array 数组类型
  • 数组里面的值可以是多种数据类型
  • 如:
var arr = [1, 2, 3, 4, false, "abc"];

原始值与引用值的区别

原始值存入stack(栈)里面,引用值存入heap(堆)里面。赋值方式不同。

  • 原始值内部,栈内存与栈内存之间的赋值关系是copy关系,就是说,从栈内存中拷贝变量的一个副本,再将副本存到另一个变量里面。原变量的值发生改变,存储副本的变量保持原有值,不会随原变量的值改变而改变。
  • 原始值的数据无法改变,就是说:一个栈内存里面已经存有一个变量的值了那么就无法改变了。
    如:
var a = 10;
var b = a;
document.write(a);
document.write("
"); document.write(b); document.write("
"); a = 20; document.write(a); document.write("
"); document.write(b);
js学习笔记(1)_第5张图片
image.png
  • 引用值:栈内存里面存放堆内存里面数值的地址信息,引用值拷贝给另一个引用值的是地址信息,这是为了方便找到堆内存里面的值。
        var arr = [1, 2];
        var arr1 = arr;
        document.write(arr);
        document.write("
"); document.write(arr1); document.write("
"); arr.push(3); document.write(arr); document.write("
"); document.write(arr1);
js学习笔记(1)_第6张图片
image.png
  • 对原引用值进行重新的赋值不会影响副本引用值的值:
        var arr = [1, 2];
        var arr1 = arr;
        document.write(arr);
        document.write("
"); document.write(arr1); document.write("
"); arr = [1, 3]; document.write(arr); document.write("
"); document.write(arr1);
js学习笔记(1)_第7张图片
image.png

你可能感兴趣的:(js学习笔记(1))