JavaScript学习第一天笔记(变量、常量、数据类型)
JavaScript简介
JavaScript是一门跨平台、面向对象的轻量级脚本语言,运行于JavaScript解释器或者引擎中。
JavaScript中,包括三个主要的部分
1.核心语法内容(ECMAScript)
2.文档对象模型(DOM)
3.浏览器对象模型(BOM)
console控制台
1.console.log() 向标准输出流打印字符并以换行符结束。
2.console.log() 向标准输出流打印信息性消息。输出文字外,会显示一个蓝色的惊叹号。
3.console.log() 向标准输出流打印警告性信息。输出文字外,会显示一个黄色的惊叹号。
4.console.log() 向标准输出流打印错误性信息。输出文字外,会显示一个红色的叉子。
JavaScript的基本语法
1.区分大小写
JavaScript是一种区分大小写的语言。这意味着JavaScript的关键字、变量名、函数名以及任何其他的标识符必须使用一直的大小写的形式。
var wolongxueyuan = '卧龙学苑'; console .log(wolongxueyuan); var Wolongxueyuan = 'Wolongxueyuan'; console .log(Wolongxueyuan); var WoLongxueyuan = 'WoLongxueyuan'; console .log(WoLongxueyuan);
2.空格与换行
JavaScript会忽略出现在代码中的空格、制表符和换行符,在编写代码时,灵活领用空格和换行符是的代码的可读性更高
3.可选的分号
在JavaScript中,每一个语句一般是以分号结尾的,分号表示这条JavaScript语句的结束。但是,JavaScript也允许将分号忽略。建议在编写代码时,不省略结尾的分号,来使代码的可读性更高。
4.注释
在JavaScript中经常是使用注释来为代码添加说明。快捷键Ctrl+Shift+?。
关键字与保留字
关键字
JavaScript定义了一组具有特定用途的关键字,这些关键字可用于表示语句的开始或者结束、或执行特德操作等。也就是说,定义变量名、函数名或对象名是不能使用这些名称。
保留字
JavaScript除了定义了一组关键字,还定义了一组同样不能作为变量名、函数名或对象名的保留字。保留字可能会在将来作为新的关键字出现的。
字符集
字符集就是各种文字和符号的总称,包括各国的文字、标点符号、图形符号、数字内容。字符集十多个字符的集合,字符集的种类繁多,每个字符集包含的字符个数不同。
变量与常量
变量
定义:变量是存储数据信息的容器。
描述:变量被认为是有名字的容器。在代码中,使用变量名为值命名,需要遵守一定的规则。
注意:1.在JavaScript代码中,必须先声明一个变量,这个变量才能被使用。
2.JavaScript中,变量是弱类型,也被称为松散类型。所谓弱类型/松散类型就是可以保存任何类型的数据。
语法结构:var 变量名称 = 变量的值;
1.定义变量,并初始化值
var v = '卧龙学苑'; /*定义变量-变量的定义,并且初始化值*/ console .log (v);/*调用变量*/
2.定义变量,但是没有初始化值
var v1;/*只是定义变量,没有初始化*/ console .log(v1);/*结果为undefined (未定义)*/
3.多个变量同时定义,变量之间用逗号分隔
var v2=100, v3=20; console .log(v2);/*100*/ console .log(v3);/*20*/
4.重复定义
在JavaScript中语法是允许重复定义变量的。重复定义时,先将之前的变量在内存的空间进行销毁。
var v='卧龙学苑'; console .log(v);/*输出结果为卧龙学苑*/ var v=100; console .log (v);/*输出结果为100*/
5.重复的赋值
var v = '卧龙学苑'; console .log(v);/*卧龙学苑*/ var v ='100'; console .log(v);/*100*/
6.遗漏的定义
a.变量没有定义,而直接调用
结果;报错,变量名 is not defined
console .log(v);
b.只定义变量,但不初始化值
不会报错,但是输出的结果为undefined
var v1; console .log(v1);/*undefined*/
常量
定义:常量就是一个只读(only-read)的变量。
描述:常量与变量类似,同样用于存储数据信息。只是常量的数据一旦被定义,便不能被修改。
注意:1.常量名习惯使用全大写的形式。
2.ECMAScript5新增了声明常量使用的关键字const。 3.如果省略const关键字,JavaScript会认为是一个变量。 4.如果重复赋值就会报错 TypeError:Assignment to constant variable. 5.重复定义(常量或者变量)就会报错 SyntaxError:Identifier '变量名'has already been declared
在定义常量或者变量时,可以省略修饰符(var或const),省略后定义的默认为变量。(不建议使用)
常量在定义时,必须要初始化值。如果之定义不初始化值,就会报错:SyntaxError: Missing initializer in const declaration
常量与变量的区别
变量
1.定义变量使用var关键字
2.定义变量建议使用小写
3.变量允许重复定义或重复赋值
4.变量允许只定义,但不初始化值
5.变量的值允许改变
常量
1.定义常量使用const关键字
2.定义常量建议使用大写
3.常量不允许重复定义或者重复赋值
4.常量必须定义并初始化值
5.常量的值不允许改变
数据类型
定义:在JavaScript代码中,能够表示并操作的值的类型称之为数据类型。
数据类型的分类
1.原始类型(又称原始值)
2.引用类型(又称内置对象)
3.包装类型
4.特殊类型
(包装类型可以分到引用类型中,特殊类型可以分到原始类型中)
原始类型的概述
原始类型,又称为原始值,是直接代表JavaScript语言实现的最低层的数据
一.number类型(整数和浮点数)
在JavaScript中,不区分整数与浮点数
var num =100; console .log(num);/*100*/
浮点类型
var num1 = 0.1; console .log(num1);/*0.1*/ var num2 = .1; console .log(num2);/*0.1*/ var num3 = 10.1; console .log(num3);/*10.1*/ var num4 = 10.0; console .log(num4);/*10*/ var num5 = 10.; console .log(num5);/*10*/
在JavaScript中,.1可以表示为0.1(不推荐使用),10.0表示成10,10.会被表示成10。
浮点类型计算的误差
number类型中的小数,在计算中可能会出现误差
1.并不是所有的小数计算都会出现误差。
2.在小数计算时,注意结果的是否出现误差。
解决方法:通过数字值的计算,将其转换成整数进行计算,再将结果转换为小数。
NaN
NanN是number类型中存在的特殊值
含义:表示当前值不是一个数字值。
类型:依旧是number类型。
特点: NaN与任何值(包括自身)都不相等。
var num = Number ('卧龙学苑'); console .log (num);/*NaN*/
无穷大(正无穷大;负无穷大)
1.无穷大与另一个无穷大是不相等的。
2.一个无穷大减去另一个无穷大不等于零。
var num = 98/0; console .log(num);/*Infinity*/
二.string类型
JavaScript中字符串就是由单引号或双引号包裹的,单引号与双引号没有任何区别,建议使用单引号。
var str1 = '卧龙学苑'; var str2 = "卧龙学苑"; console .log(str1);/*卧龙学苑*/ console .log(str2);/*卧龙学苑*/
如果文本本身需要单引号或者双引号
1.如果需要的是双引号,字符串只能使用单引号
2.如果需要的是单引号,字符串只能使用双引号
var str3 = '"卧龙学苑"'; var str4 = "'卧龙学苑'"; console .log(str3);/*"卧龙学苑"*/ console .log(str4);/*'卧龙学苑'*/
转义字符
string类型包含一些特殊的转义字符,用于表示非打印字符。
三.boolean类型
布尔(boolen)类型只有两个值1.true 2.false(均为小写)
var boo1 = true; console .log(boo1);/*ture*/
如果大写活着大小写混合,JavaScript识别为另一个变量名称。
typeof运算符
如何判断变量的值的类型?使用typeof运算符(只能使用在原始类型中)
语法结构:typeof 变量名称
结果:原始类型的名称(名称是string类型)
var num = 100; var boo = true; var str = '卧龙学苑'; console.log(typeof num);// number console.log(typeof boo);// boolean console.log(typeof str);// string
包装类型
概述:对应原始类型提供了包装类型,通过包装类型可以创建原始类型的对象。
一.Number类型
Number类型是一种构造函数方式
var num1 = new Number(100); console.log(num1);/* [Number: 100] */
二.String类型
var str1 = new String('卧龙学苑'); console.log(str1);/*[String: '卧龙学苑']*/
三.Boolean类型
var boo1 = new Boolean(true); console.log(boo1);/*[Boolean: true]*/
instanceof运算符
instanceof运算符用于判断引用类型(只能用于包装类型)
console.log(str instanceof String);// true
typeof运算符与instanceof运算符的区别
typeof运算符 1.用于判断原始类型 2.语法结构不同 -> typeof 变量名称 3.得到结果不同 -> 原始类型的名称 instanceof运算符 1.用于判断引用类型(包装类型) 2.语法结构不同 -> 变量名称 instanceof 引用类型名称 3.得到结果不同 -> 布尔类型的值(true或false)
特殊类型(undefined与null)
undefined表示空的数据类型,但是在内存中依旧占有空间
null 作用:用于将指定变量从内存中进行释放 实现:将指定变量的值赋为null null类型中只存在一个值(null)