JavaScript
- JavaScript是一个运行在浏览器端的脚本语言(现在已经不仅仅局限于浏览器端)- JavaScript是一门解释型、动态类型的语言- 解释型指语言在执行时不需要编译,由浏览器自动编译
基本语法:
- 区分大小写: JS是一种区分大小写的语言 定义变量名称一般用小写 定义常量名称一般用大写 -空格和换行 JS中会忽略多个空格和换行,所以我们可以利用空格和换行来对代码进行格式化 采用整齐的缩进形成统一的编码风格 提高代码的可读性 -可选的分号 JS语句一般以一个分号作为结尾 JS也允许忽略这个分号 语句写在同一行不能省略分号 -单行注释 //-多行注释/**/
字面量和变量
字面量
- 字面量就是一个一个的值,比如:123 , 1 ,2 ,"hello" , true , undefined - 字面量都是不可变的 - 字面量可以在页面中直接使用,但是不太方便
变量
- 变量是存储数据信息的容器 - 变量可以用来保存字面量,变量中保存的字面量可以任意的修改 - 一般我们都是通过变量去保存字面量,而不直接使用字面量 - 变量的使用:
使用var关键字声明: var a; var b; var c , d , e;
为变量赋值 a = 1; b = true; c = "hello";
声明和赋值同时进行 var a = 1; var b = true; var c = "hello" , d = 1 ;
常量
常量是一个只读的变量 常量的数据一旦被定义就不能修改 常量的声明:
使用const关键字声明: const NUMBER=1
常量的声明 必须赋值 否则会报错 const NUMBER //SyntaxError: Missing initializer in const declaration
- 命名的规则 - 在js中所有可以自己命名的内容都有一个规则 比如:变量名、函数名 - 命名要遵循如下的规范: 1.名称中可以含有字母、数字、_、$,但是不能以数字开头 2.名称不能是JS中关键字或保留字 3.名称最好遵循驼峰命名法 4.最好有明确的含义 var myname='宋佳'; var myName='宋佳'; var my_name='宋佳';
声明的问题 重复声明 使用var重复声明 之前存储的数据被覆盖 var text='hello world' console.log(text); // hello world var text='2018 HOLA' console.log(text); // 2018 HOLA
变量的使用
var text ; //只声明未赋值 console.log(text) ; //undefined console.log(yourName) // yourName is not defined 此变量没有被定义 var msg='来支舞吧!' console.log(msg) //来支舞吧! var msg='我的舞姿好看的要死' console.log(msg) //我的舞姿好看的要死 重新赋值
数据类型
- 数据类型指的就是js中可以使用的值的类型 - 在JS中一共有6种数据类型: 其中基本数据类型有5种
String(字符串)
- 相同类型的引号间不能嵌套 - 使用 \ 作为转义字符 \\ ==> \ \" ==> " \' ==> ' \t ==> 制表符 \n ==> 换行 使用typeof检查一个字符串时,会返回 string
Number(数值)
- 在js中所有的整数和浮点数都是Number类型 -整数类型:正整数、0和负整数 -浮点类型:小数
var floatNumber=0.1; //0.1 var float_number=.2 //0.2 不推荐使用
四舍五入误差 var num=0.3-0.2; console.log(num) //0.09999999999999998
- 特殊的数字: Infinity 表示无穷 NaN 表示非法的数字 - 其他进制的数字 十六进制 0x开头 八进制 0开头 - 使用typeof检查一个数值时会返回number
Boolean(布尔值)
- 布尔值用于逻辑判断,只有两个值true 和 false - 使用typeof检查会返回boolean
Undefined(未定义)
- Undefined类型的值只有一个 undefined - 使用typeof检查会返回 undefined
Null(空值)
- Null类型的值只有一个 null - 它专门用来表示为空的对象 - 使用typeof检查null时,会返回object
引用数据类型有1种
Object(对象)
surprise
console.log('xxxyyy') 如何让xxx和yyy分行显示? console.log('xxx\nyyy') //xxx //yyy