[JavaScript基础] 引入,变量,值类型,运算符

引入

  1. 页面内嵌:在中嵌入javascript
  2. 外部引入:在中写

注:

  1. type="text/javascript"忘了不会写,就不用写了。如果写错了JS代码或者引入文件不执行。
  2. 不要即引入外部的,又在内部写代码,这样内部代码就失效了。


变量(variable)

变量声明
var a = 123
/* 
* =(赋值符号),在这里不是等于号,而是把数字123赋值给了a.
*/
单一var模式
//多个变量声明
//赋值不赋值都行,但是要用逗号隔开。
var a = 1, 
    b = 2,
    c = 3,
    d = 4,
    e;
console.log(a) //1
//
var test = 10;
test = 20;
console.log(test); //20
//后面的test 20覆盖了前面的test 10
命名规则
  1. 变量必须以字母开头,$ 和 _ 符号开头(var _test = 123
  2. 变量名称对大小写敏感(var a = 123var A = 123 是不同的变量,函数同理)
  3. 不可使用系统的关键字、保留字作为变量名
  4. 变量起名语义化

值类型 —— 数据类型

JavaScript 拥有动态类型

不可改变的原始值(栈数据)
  1. Number 数字类型 小数点可带可不带
  2. Boolean 布尔值 返回两个值true或者false
  3. String 字符串 一对双引号或者单引号括起来
  4. Undefined 定义未赋值,返回undefined。
  5. Null 通过将变量的值设置为 null 来清空变量
var a = 123,
    b = "字符串",
    c = true,
    d = undefined,
    e = null;
console.log(typeof a); // Number
console.log(typeof b); // String
console.log(typeof c); // Boolean
console.log(typeof d); // Undefined
console.log(typeof e); // Object
//typeof 检测返回数据类型
引用值(堆数据)
  1. array 数组
  2. Object 对象
  3. function 方法
  4. date日期
  5. RegExp 正则表达式
栈内存 stack

栈内存和栈内存之间的赋值是拷贝,互相不影响。

var a = 100;
var b = a; 
a = 200;
console.log(b) //100
堆内存 heap

栈内存中存放地址指向堆内存中的对象。(如下图的m n变量)

var arr = [1,2,3]; // 栈内存的变量arr指向堆内存[1,2,3]对象地址 
var arr1 = arr;  // 在栈内存拷贝一个arr1,同样指向堆内存[1,2,3]的地址
arr.push(4); //插入4
console.log(arr1) // [1,2,3,4] 
console.log(arr == arr1) //true

栈、堆内存总结:

栈内存 堆内存
存储基础数据类型 存储引用数据类型
按值访问 按引用访问
存储的值大小固定 存储的值大小不定,可动态调整
由系统自动分配内存空间 由程序员通过代码进行分配
主要用来执行程序 主要用来存放对象
空间小,运行效率高 空间大,但是运行效率相对较低
先进后出,后进先出 无序存储,可根据引用直接获取

运算符

运算操作符
  1. "+"
    数学运算,字符串链接;
var num = 1 + 1;
console.log(num); //2

任何数据类型加上字符串都等于字符串。

var str = 1 + "abc";
console.log(str); //1abc
  1. "-" 减法,"*" 乘法,"/" 除法,"%" 求余数(依旧不懂),"=" 赋值,"()" 括号
  2. 凡是应该得出一个数字的类型的值,又无法表示的,就返回NaN (Not a Number),NaN也是Number类型
  3. 优先级 "=" 最弱,"()" 最高
  4. "++" 加加
var a = 10;
a++;  //a++ 就等于 a = a + 1
console.log(a) //11

"--" 减减

var a = 10;
a--;  //a-- 就等于 a = a - 1
console.log(a) //9
"++"和"--"放前后都可,放后面:先执行语句,后++或--;放前面:先++或--,再执行语句。
//放后面
var a = 10;
console.log(a++) //10
//放前面
var b = 20;
console.log(++b) //21

//
var a = 10;
var b = ++a - 1 + a++;
console.log(b); // 21
console.log(a); // 12

"+=" 加等于

var a = 10;
a += 10;  // 等于 a = a + 10,等于写了十次a++
console.log(a) // 20

"-=" 减等于
"*=" 乘等于
"/=" 除等于
上面三个与"+="用法相同。
"%=" 余等于 (依旧不懂)

赋值顺序,从右向左;计算顺序与数学计算一致,先乘除后加减有括号先算括号,从左往右。

你可能感兴趣的:([JavaScript基础] 引入,变量,值类型,运算符)