美文网首页
js学习笔记(1)

js学习笔记(1)

作者: 橙子晓 | 来源:发表于2018-07-27 22:49 被阅读7次

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:字符串类型
  • 无论在双引号里面写的是什么,都是叫字符串。
  • 如:
    <script>
        var a = "abc";
        document.write(typeof(a) + " : " + a);
        document.write("<br>");
        var b = "你好";
        document.write(typeof(b) + " : " + b);
        document.write("<br>");
        var c = "123";
        document.write(typeof(c) + " : " + c);
    </script>
image.png
3. Boolean 布尔类型
  • 两个值:true, false
  • 如:
var a = true;
document.write(typeof(a) + " : " + a);
document.write("<br>");
var b = false;
document.write(typeof(b) + " : " + b);
image.png
4. undefined
  • 值就为undefined,意思:没有定义的。
  • 表示: 一个变量经过了声明但没有赋值,其值就为undefined。
  • 如:
var a = undefined;
document.write(typeof(a) + " : " + a);
document.write("<br>");
var b;
document.write(typeof(b) + " : " + b);
image.png
5. null
  • 表示一种占位,就是为了占位置。
  • null -- 空的,把原来的东西覆盖掉就是用null。
  • 注意:null数据类型为:object。
  • 如:
var a = null;
document.write(typeof(a) + " : " + a);
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("<br>");
document.write(b);
document.write("<br>");
a = 20;
document.write(a);
document.write("<br>");
document.write(b);
image.png
  • 引用值:栈内存里面存放堆内存里面数值的地址信息,引用值拷贝给另一个引用值的是地址信息,这是为了方便找到堆内存里面的值。
        var arr = [1, 2];
        var arr1 = arr;
        document.write(arr);
        document.write("<br>");
        document.write(arr1);
        document.write("<br>");
        arr.push(3);
        document.write(arr);
        document.write("<br>");
        document.write(arr1);
image.png
  • 对原引用值进行重新的赋值不会影响副本引用值的值:
        var arr = [1, 2];
        var arr1 = arr;
        document.write(arr);
        document.write("<br>");
        document.write(arr1);
        document.write("<br>");
        arr = [1, 3];
        document.write(arr);
        document.write("<br>");
        document.write(arr1);
image.png

相关文章

  • 原生js

    原生JS学习笔记1——基本数据类型和运算符 js的背景知识介绍,js的引入方式,js的变量及运算符 原生JS学习笔...

  • js学习笔记(1)

    javascript 是一种动态语言,解释性语言,脚本语言。 特点:声明变量的关键字只有一个var,解释型语言解释...

  • JS学习笔记1

    todo:总结下实际中js的一些注意事项、表格、全选、切换、模态框等 原则: 渐进增强 平稳退化 低耦合 JS脚本...

  • 【进阶系列】Node.js专题

    1 环境搭建 1.1 WebStorm集成Node.js Node.js入门学习笔记-IDE选择/配置之WebSt...

  • 校本化HTTP-原生js

    这个笔记是我学习js犀牛书和一个师姐的慕课网学习笔记和js高级编程三个东西的总结 1,基本概念 超文本传输协议(H...

  • js学习笔记

    js学习笔记 语法 后续补充笔记 join()方法var fruits = ["Banana", "Orange"...

  • JavaScript基础,基础

    原javaScript学习笔记(一)js基础 一、简介 1、概述: JavaScript是目前web开发中不可缺少...

  • reactjs精品教程资料-day1

    React.js - 第1天 备注说明:该笔记来自于黑马培训课笔记,因为质量好,为方便学习和 查阅。 1. Rea...

  • vue中使用pdf.js操作步骤

    [js学习笔记]PDF.js专题[https://blog.csdn.net/xiangcns/article/d...

  • 3D世界

    前言最近在学习three.js,以下是我的笔记。 相关概念了解 1.WebGL与Three.js 1.1什么是We...

网友评论

      本文标题:js学习笔记(1)

      本文链接:https://www.haomeiwen.com/subject/iomwmftx.html