关键字 和 保留字的概念:
关键字 : 编程语言已经事先定义好的,具有特殊含义
java
:public 、class 、void 、main、static 等
js
:funcation、return 、 object等
保留字: 编程语言中目前还没有使用,但是以后可能会使用的单词
比如 Java中的goto语句
标识符
-
什么是标识符?
答:
java
中:标识符就是用于给包名、类名、变量名、常量名、方法名命名的规则js
中 : 标识符就是用于给变量名 、常量名、函数名命名的的规则补充知识: 从属于类的属于静态方法(也称为类的方法)
从属于对象的属于实例方法(也称为对象的方法)
既不属于类的,也不属于方法的属于函数
-
标识符的命名规则
- 标识符不能为关键字或保留字
- 标识符由字母、数字、下划线和$(英文 shift +4)符号组成,不能以数字开头
注意: 因为
Js
采用的是Unicode编码,所以变量名可以采用“哈哈”等等这样的变量名,但是在实际开发中,不建议使用中文命名UniCode
称为万国码,统一码,几乎包含了全世界所有的语言。 -
标识符的命名规范
变量名:采用小驼峰命名规范,第一个单词首字母小写,其后每个单词首字母大写,例如:
userName
函数名:和变量名的命名规范一摸一样
常量名:单词全部大写,每个单词之间使用下划线(_)下划线分割
误区:规范和规则的区别
- 规范: 可以遵守,不做要求,类似实际生活中的道德
- 规则:必须遵守,类似生活中的法律
变量(Variable 简称 var)
变量的本质
变量的本质就是容器,就是在内存开辟一块存储空间,用于存储数据的容器
容器的位置:内存中一块存储空间
容器的内容: 数据
变量的声明
语法: var 变量名;
例如 : var age;
本质上做了 在内存中开辟一块存储空间,这块存储空间的名字为变量名age,准备用于存储数据的容器
变量的赋值
通过变量名找到内存中的存储空间,把需要存储的数据存储到该空间中。
语法: var 变量名 = 数据;
例如: var num = 18;
变量的取值
使用JS常用的输出语句,如下:
把括号中的内容在控制台中显示
console.log(变量名);
把括号里的内容在浏览器窗口显示
document.write(变量名);
警告框
alert(变量名);
以上三个函数均可以实现输出功能,可以将变量中存储的数据取出来
例如:
var num = 18;
console.log(num);// 把age变量中存储的数据取出来,变量的本质就是容器
变量同时声明和赋值
语法:var 变量名 = 数据;
例如 : var num = 18;
扩展知识:
-
同时声明多个变量,多个变量之间使用英文","号隔开
语法 : var variable1,variable2,variable3,…;
例如 : var num1,num2,num3;
-
同时声明和赋值多个变量
语法: var variable1 = 数据1,variable = 数据2,variable3 = 数据3;
例如: var num1 = 12 ,num2 = 16 ,num3 = 18;
Java是强类型语言,JS是弱类型语言,Java和JS的比较
-
java 和 js 变量的区别
java:
语法: 数据类型 变量名 = 数据;
例如 : int age = 10;
特点 : 声明变量时,必须明确指定变量的数据类型,并且存储数据的类型必须和声明变量的类型保持一致
代码展示
public class Test{ public static void main(String[] args){ int age = 10; System.out.println("一个小孩的年龄为" + age); } }
js:
语法 : var 变量名 = 数据;
例如 : var age = 17;
特点: 声明变量时,无需明确指定变量的数据类型,变量的数据类型由赋值来决定
代码展示
var age = 12; console.log("在控制台显示" + age); alert("警告框显示" + age); document.write("在浏览器窗口显示"+age)
-
在js中,如何查看变量的数据类型
有两种方式:
- typeof 变量名;
- typeof(变量名);
代码展示
var num = 12; console.log(typeof num); // 输出 number console.log(typeof(num)); // 输出 number
特点:
java中,变量一旦声明,那该变量的数据类型就不能再次改变
在js中,变量的类型随着赋值来决定,赋值的数据属于什么类型,那么该变量就属于什么类型,既体现了js的动态性,也体现了js是一门弱类型的语言
练习题: 请问以下变量属于什么类型?
var name = 18;
console.log(typeof name);// 预计: number 实际: string
为什么name 的类型是string而不是number?
答: 原因:
- 发生了隐式类型转换
- name属于window对象的属性,name属性的类型就是string
变量的提升
在 java中,相同作用域不能定义同名的变量
// 以下是 错误的写法
public class variableTest{
public static void main(String