7.字面量(一个值或参数)
var x=100 100就是自变量 数字
var userName="小明" 小明 就是自变量--字符串(可以用单引号'' js运行时会把双引号"" 转成单引号'' 单引号要比双引号运行的效率高。)
true 代表真1 真实存在的 正确的 布尔类型
false 代表假0 不正确的 不存在的 错误的
null 空 表示对象不存在 针对于对象而言
[] 数组 集合(将一系列的数据放到一起形成集合)
{} 对象
undefined 未定义 定义的变量还没有赋值
<script>
var x=200;
var y="小明";
var z=true;
var x1=300;
var w //未定义值 没有给它定义值-->会出现undefined
console.log(x,y,x<x1,w);
</script>
四、变量:可以改变的量
ECMAScript 规定要用关键字var来声明变量 ,后面放变量名也叫标识符
var box
var _box
<!-- 变量 可以改变变量 -->
<script>
var x=200;
var y=300;
console.log(x);
x=x+y;
console.log(x);
x=500+600;
console.log(x);
</script>
五、常量 一旦定义不可改变
用const来定义,一旦定义不可改变,而且定义时必须赋值。
<!-- 判断奇数偶数 -->
<!-- <input type="text" placeholder="请输入一个数字" id="num">
<input type="button" value="开始分析" onclick="check()">
<script>
function check(){
//+加法 -减法 *乘法 /除法 %取模(取余数)
// console.log(100%3)
//偶数
var r=num.value % 2
if(r==0){
//判断r是否等于0
//如果是0
alert(num.value+'是偶数')
//奇数
}else{
alert(num.value+'是奇数')
}
}
</script> -->
<form action="#" method="get">
<input type="text" placeholder="请输入第一个乘数" id="num1">x
<input type="text" placeholder="请输入第二个乘数" id="num2">
<!-- onclick:单击后会触发一个函数calc,()表示执行这个函数 -->
<input type="button" value="乘法" onclick="calc()">
<input type="button" value="加法" onclick="calc2()">
<input type="button" value="减法" onclick="calc3()">
<input type="button" value="除法" onclick="calc4()">
</form>
<script>
// 先乘除后加减 有括号先算括号内的
// function 表示定义一个函数 calc表示函数名称() {}表示函数体,要执行功能
function calc(){
//将id为num1的值 * id为num2的值
alert(num1.value*num2.value)
}
function calc2(){
//将id为num1的值 + id为num2的值 +加法 字符串拼接
//Number将字符串转成数字
alert(Number(num1.value)+Number(num2.value))
// alert((num1.value-0)+(num2.value-0)) -0 减零系统会自动把字符串转成数字
}
function calc3(){
//将id为num1的值 - id为num2的值
alert(num1.value-num2.value)
}
function calc4(){
//将id为num1的值 / id为num2的值
alert(num1.value/num2.value)
}
</script>
<!-- 两个框 数字相乘 一个button计算 点击计算 得出数字在第三个框 -->
<script>
<input type="text" placeholder="请输入一个数字" id="num1">*
<input type="text" placeholder="请输入一个数字" id="num2">
<input type="button" value="计算" onclick="calc()">
<input type="text" id="sum">
<script>
function calc(){
var s=num1.value * num2.value
sum.value=s
}
</script>
六、操作符与表达式
操作符:= 、 > 、< 、表示的特定意义
表达式:表示把某个值 赋值 有特定的意义 表示与变量 标识符之间的一些关系
七、数据类型
ECMAScript(5) 中有五种基本数据类型(undefined、Null、Boolean布尔(true、false)、string(字符串 双引号""或单引号'')、)
引用数据类型:object对象-->(object对象、array数组、date日期、function函数、)
1、typeof操作符:能检测数据类型
注意:typeof是操作符,typeof y是表达式(这个语句表示某个意思 就是typeof后面的字母
例如:var x=100 输出 console.log(typeof x) 那这个x就是指表达某种意思)
1-1:undefined:用var声明 变量,但没有进行初始化,就是没有赋值,这个变量的值数undefined
var w //没有赋值
<script>
var w
console.log(typeof w)//undefined
console.log(typeof wc)//undefined
console.log(wc) //wc is not defined,报错
</script>
1-2:null类型: 是一个值的类型.
论点:
typeof null结果是object
问题1:object是对象,对象中并没有null,null中也并没有包含object,null是一个独立的类型。 互相矛盾-->矛盾体******
以前的操作系统都是32位,现在是64位,在32位系统中,对象的前三位都是000,表示对象,但是null全是0,所以系统误认为null也是对象,其实是js自己的bug。
难道不能把历史问题修改吗? 不能,历史已经产生。
<script>
console.log(typeof null) //控制台显示object
</script>
<!-- <script>
var box=null
console.log(typeof box) //显示object
if(box==null){
console.log('相等')//控制台结果相等
}
console.log(undefined==null)//显示 true
</script> -->
问题2:console.log(undefined==null)//控制台显示 true
由于undefined是派生于null,所以它俩的测试值数true。
var box
var box2=null
console.log(typeof box,typeof box2) //显示undefined object
类型不相同
var box
var box2=null
console.log(typeof box==typeof box2) //显示false
补习:
二进制:只有0和1,其中的1和0,叫bit(比特)位
1+1=10
10+1=11
11+1=100
ASCII码字母是由8位(bit)构成
A(1000001) 十进制 65
B 66
C 67
z 90
A~Z:65-90
a~z: 97-122
b 98
中国国标码GB2312-80
GBK编码
ISO 国际标准化组织 1947年成立 提出要求:把编码标准规范化。提出编码的一个标准化Unicode(万国码)
utf8是对Unicode的一个实现
比特(bit)、字节(byte)、汉字、kb、gb、tb之间的关系
1字母=8bit(比特)