由浅入深JavaScript——变量和原始类型

JavaScript变量

JavaScript变量标识符
标识符 var + 变量名称来定义变量。
变量名称以字母,下划线_,美元$符号开头,余下字符可以是字母,数字,下划线,美元符号。
eg: var  name = ‘hello‘;
    var  a1 = ‘hello‘;
    var  _test = ‘hello‘;
    var  $test = ‘hello‘;
    以上变量名称均为正确。
    var  1a = ‘hello‘; //数字开头错误。    
JavaScript允许一次声明多个变量。中间以逗号分隔。
eg: var a1 = ‘hello1‘,a2 = ‘hello2‘;

JavaScript大小写敏感。
var a = ‘hello1‘;
var A = ‘hello2‘;
a和A是两个不同的变量
function name(){}
function Name(){}
函数 name和Name是两个不同的函数。
    
JavaScript是弱类型语言。
所谓弱类型语言即变量没有固定类型,也无需明确类型。
相比于Java语言,定义一个变量必须要声明其类型。
Java代码
eg: String str = ‘hello‘;
     int  num =  19;
JavaScript代码
eg: var str = ‘hello‘;
     var num = 19;
JavaScript中的变量类型是根据其内容改变而改变的。
如上,变量str 就是一个字符串类型的变量,变量num是一个数字类型的变量。
这即是弱类型带来的编程简便好处,但同时也对初学者容易造成混淆。

变量的作用域
变量按照作用域划分为全局变量和局部变量。其区别在于生命周期。
局部变量一般声明在函数内部,其使用范围也是在其声明的地方开始
到其所在的函数代码块结束。函数结束,其内部的局部变量注销。
全局变量声明在函数外部,其使用范围从其生命的地方开始</script>
标签结束,浏览器关闭,全局变量注销。
eg1:
        <script>
            var a ;//全局变量a,任何地方都可以使用
            function test1(){
                var a = 12;//局部变量a
                          //只能在声明他的地方开始到代码块结束之间使用。即test1中
            }
            function test2(){
                alert(a); //全局变量a
            }
        </script>

除此以外对于没有声明过得变量在使用后,其将成为全局变量。        
eg2:
        <script>
        var  aaa = 111;
            qqq = aaa+222;
            function test(){
                alert(qqq);
            }
            test();
        </script>
声明 变量 aaa , 变量aaa + 222赋值给 从未声明过的变量qqq,    
发现qqq如正常变零可以使用并且qqq可以在函数内部使用,
可见其为全局变量。

JavaScript原始值数据类型
在JavaScript中数据类分为两大类——原始值类型和引用值类型。
原始值数据类型与引用值数据类型其最大的区别在于存储结构。
原始值类型存储在栈中,其值直接存在变量访问的地方。
引用值类型存储在堆中,存储在变零访问出的是一个地址,指向内存里的一小块空间。
原始值类型中有5中数据类型。
    Null,Undefined,string,Boolean,number
引用值类型中只用1种数据类型
    Object
    万物皆为对象,function,array,RegExp……

原始数据类型详解
    在详解原始值数据类型之前先介绍运算一种特殊的运算符——typeof
    typeof用来判断变量的数据类型。
    alert()函数,在浏览器中弹出,多用在js调试错误。

字符串类型——String
    字符串由单引号或双引号引起来。
    字符串每个字符都有其特定的位置,第一个字符index是0。
eg:
        <script>
            var str  = ‘hello‘;
            alert(typeof str);//string
            alert(str.length);//5
            alert(str.charAt(0));//h
        </script>
    
数字类型——Number
    可以表示32位的整数,也可以表示64位的浮点数。
    可以表示为八进制必须0开头,也可以表示为十六进制0开头,后面接x字母。
    科学计数法表示数字。
    eg1:
            var num1 = 12;
            var num2 = 12.01;
            alert(typeof num1);//Number
            alert(typeof num2);//Number
    eg2:
            var num1 = 030 //等于十进制的24
            var num2 = 0x1a //等于十进制的26
    eg3:
            var num1 = 2.13e6 //2.13*10的六次方。
布尔类型——Boolean
    表示逻辑真与假。
    定义时不可加引号。
    true和false其值可以与0,1相等价。
eg:
        <script>
            var a = true;
            alert(typeof a) //boolean
            alert(a==1); //true
            alert(a==0); //false
            var a = 1;
            alert(typeof a);//number
            alert(a==true); //true
            var b = 1;
            alert(a==b) //true
        </script>

Undefined类型
    Undefined即未定义类型。其默认值为Undefined。
    对于不存在的变量或者变量未赋初始值都为Undefined类型。
    Undefined类型的默认值为Undefined,但值Undefined不同于未定义的值。
eg:
        <script>
            var a ; //变量a没有赋初始值,
            alert(typeof a);//类型为Undefined,
            alert(a==undefined);//值为undefined
            alert(typeof c); //未定义的值c。
            alert(c==a); //出错,对c使用除typeof运算符的其它运算符都会出现错误
                //因为无法对一个不存在的变量进行运算
        </script>
Null类型
        表示空值,其默认值即null。
        Null和Undefined  
            Undefined是从null中派生出来的。
        Null的小问题 Null的typeof 是Object
            在前面我们说Null为原始值类型,引用值类型才是对象。
            但是null的typeof为object是由于历史原因所出现的bug,后来解释null
            为对象的占位符。
eg:
    
        <script>
            var a = null//变量a 有值,值为null
            alert(typeof a); //object
            var b  //变量b没有值 nudefined
            alert(a==b);//true
        </script>

引用数据类型
    引用数据类型只有一种即——对象。
    借用java中的一句话,万物皆为对象,本节课暂不讨论对象,
    我们在后面的课程将会详细介绍。引用类型。

变量命名规范
    在前文中我们的变量名称一直是随意起名,为了编程规范,我们的
    变量名称应当有意义。
    以下介绍三种常见的命名规范。
    驼峰命名法
        首字母小写,接下来的字母都大写字符开头
        var myName = ‘hello‘;
    Pascal标记法
        首字母大写,接下来的字母都大写字符开头
        var MyName = ‘hello‘;
    匈牙利命名法
        前缀+接下来字母都大写字符开头
        var sMyName = ‘hello‘;
我们以后的课程将采用驼峰命名规范。
    同时在命名的时候应当注意避免使用JavaScript保留字和关键字。
    保留字和关键字为JavaScript语言使用。
    以下附部分保留字和关键字。
    保留字:float
            goto
            implements
            import
            native
            package
            private
            protected
                ……
    关键字:
            JavaScript关键字是保留的,不能用作变量名称或函数名称
            var
            in
            if
            break
            do
            for
        如果把关键字用作变量名或函数名,
        可能得到诸如 "Identifier Expected"(应该有标识符、期望标识符)
        这样的错误消息

限于文章篇幅原因,这里仅仅介绍冰山一角。由于笔者的水平有限,编写时间也很仓促,
文中难免会出现一些错误或者不准确的地方,不妥之处恳请读者批评指正

说在最后的话:

本博会开一个JS专栏,长期更新,由浅入深带大家系统的学习JavaScript,做出多彩的JS特效。

如果对你有用就关注一下吧。

时间: 2024-08-05 11:00:33

由浅入深JavaScript——变量和原始类型的相关文章

HTML 学习笔记 JavaScript (变量)

变量是储存信息的容器. 实例 var x=2; var y=3; var z=x+y; 就像代数那样 x=2 y=3 z=x+y 在代数中,我们使用字母(比如 x)来保存值(比如 2).通过上面的表达式 z=x+y,我们能够计算出 z 的值为 5.在 JavaScript 中,这些字母被称为变量.提示:您可以把变量看做存储数据的容器. JavaScript 变量 与代数一样,JavaScript变量可用于存放值(比如x=2)和表达式(z=x+y). 变量可以使用短名称(x和y) 也可以使用描述性

说说javascript变量类型和变量类型检测

javascript是一种弱类型语言,它的典型例子就是即变量在使用的时候可以给它赋值任何类型.那么先来看下javascript都有那些变量类型已经它们的使用方法吧. 先来看看javascript都有那些类型吧: string --- 字符串number --- 数值boolean --- 布尔值undefined --- 未申明的变量 或 申明并未赋值null --- 空object  --- 对象function  --- 函数 这里比较有争议的是 function 类型到底要不要归属到变量类

你根本不会Javascript(1)——类型、值和变量

文原载于szhshp.org/tech/2017/02/18/JavaSprite.html 转载请注明 类型.值和变量 包装对象和原始值 ECMAScript 有 5 种原始类型(primitive type) Undefined Null Boolean Number String 基本类型(null, undefined, bool, number, string)应该是值类型,没有属性和方法. 内置对象 Javascript有一系列内置对象来创建语言的基本功能,具体有如下几种 Boole

01.JavaScript 面向对象精要--原始类型和引用类型

一.什么是类型 JavaScript 虽然没有类的概念.但依然存在两种类型:原始类型和应用类型. 原始类型保存为简单的数据值,引用类型则保存为对象,其本质是指向内存位置 的引用.也就是说:原始值被直接保存在对象内,而引用值则作为一个指针保存在 对象内,该指针指向实际对象在内存中的储存位置. 二.原始类型 2.1 JavaScript中5中原始类型:boolean,number,string,null,undefined  原始类型变量直接保存原始值(而不是一个指针),当你将原始值赋值给一个变量 

《Javascript权威指南》类型、值、变量

变量 数据类型分为  原始类型  和  对象类型 原始类型包括数字.字符串和布尔值 null  和  undefined  分别表示格子特殊类型的唯一的成员 除此之外就是对象.对象(object)是属性的集合,每个属性由名值对组成 普通的javascript对象是“命名值”的无序集合.数组是特殊的对象,表示带编号的值的有序集合. 函数是具有与它相关联的可执行代码的对象,都是真值.   如果函数用来初始化(new运算符),一个新创建的对象,称为构造函数.每个构造函数定义了一类(class)对象——

JavaScript的原始类型

原始值与引用值 在ECMAScript 中,变量可以存放两种类型的值,即原始值和引用值. 原始值(primitive value)是存放在栈(stack)中的简单数据字段,也就是说,它们的值直接存储在变量访问的位置. 引用值(reference value)是存储在堆(heap)中的对象,也就是说,存储在变量出的值是一个指针(point),指向存储对象的内存处. 原始类型 ECMAScript 中有5种原始类型,即Undefined,Null,Boolean,Number和 String.ECM

javascript的原始类型和引用类型

原始类型存在堆中,引用类型存在栈中,引用类型存的是指向对象内存的指针. 原始类型有5个:Undefined.Null.String.Boolean.Number. javascript提供了typeof方法来判断值类型,原始类型对应的结果是undefined.object.string.boolean.number(typeof null 结果是object,这本是个历史错误但沿用成习惯),引用类型的结果皆为object. 引用类型通常理解成类,Object可以说是所有类的基类.javascri

[Effective JavaScript 笔记] 第4条:原始类型优于封闭对象

js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //"number" typeof "s";//"string" typeof null;//"object":ECMAScript把null描述为独特的类型,但返回值却是对象类型,有点困惑. 可以使用Object.prototype.t

JavaScript 变量类型 保存内存中的位置 和 引用

1. JavaScript变量 基本类型值在内存中占据固定大小的空间 因此被保存在栈内存中. 从一个变量向另一个变量复制基本来下的值 会创建这个值得一个副本. 引用类型的值是对象 保存在堆内存中. 包含引用类型值得变量实际上包含的并不是对象本身 而是一个指向该对象的指针. 从一个变量向另一个变量复制引用类型的值 复制的其实是指针 因此两个变量最终都指向同一个对象 2. 堆和栈 堆栈在数据结构里面的含义就是一组数据的存放方式 后进先出 push: 在最顶层加入数据 pop: 返回并移除最顶层的数据