js基础知识(主流浏览器及其内核,变量,数据类型,运算符)

观看渡一教学视频做的笔记,加强基础知识。

1. 主流浏览器及其内核

浏览器内核
IEtrident
chromewebkit / blink
fireFoxGecko
Operapresto
Safariwebkit

2. 变量

变量声明:var a;var a,b,c;
变量赋值:a = 100;

变量的命名规则:

  • 必须以英文字母或_或$开头;
  • 变量名可以包括英文字母或_或数字;
  • 不可以用系统的关键字或保留字做变量名;

3. 数据类型

数据类型包括不可改变的原始值(栈数据:先近后出)和引用值(堆数据);

原始值类型(5个):

  • Number(默认是浮点型)
  • Boolean
  • String
  • undefined(没给变量赋值)
  • null (占位,可以用null覆盖一个不想再用的方法)

引用值类型:

  • array
  • Object
  • function
  • date
  • RegExp
  • 等等

两种类型的赋值规则不一样(原始值拷贝的是副本,引用值拷贝的是地址,操作的还是一个数据):

var a = 10;
var b = a;
a = 20;
console.log(a,b);
结果:2010
var arr = [1,2];
var arr1 = arr;
arr.push(3);  // 如果arr = [3,4]; 会给arr另开一个房间
console.log(arr,arr1); 
结果:[1,2,3],[1,2,3]  // [3,4],[1,2]

4. 运算符

4.1 js算数运算符

‘+’,‘-’,‘*’,‘/’,‘%’,‘++’,‘–’

  • “+”
    数学运算,字符串链接;
    任何数据类型加字符串都是字符串;
 var a = 1 + 1 + 'a' + 1 + 1;
 console.log(a);
 结果:2a11
  • “/”
    1/0 为 Infinity
    0/0 为 NaN

  • “%”
    1%0 为NaN
    0%0 为NaN
    0%1 为0

4.2 js赋值运算符

‘=’,‘+=’,‘-=’,‘*=’,‘%=’

4.3 js比较运算符

’,‘=’,‘!=’,’!==’,’>’,’<’,’<=’,’<=’,’?’
‘a’ > ‘b’ 字符串比较的是asc码 (a为97,A为65)false
‘1’ > ‘8’ false
‘10’ > ‘8’ false

undefined == undefined // true
Infinity == Infinity // true
NaN == NaN // false

4.4 js逻辑算符

‘&&’,‘||’,‘!’
undefined,null, “”,0,false,NaN 此6个值转为布尔值为false

  • &&
    先看第一个表达式转换成布尔值的结果,如果结果为真,那么他会看第二个表达式转换为布尔值的结果,然后如果只有两个表达式的话,只看到第二个表达式,就可以返回该表达式的值了。
 var a = 1 && 2 + 2;
 console.log(a) // 结果为4
  • ||
 div.onclick = function (e) {
 	// ie里window.event 有值,非ie里用e
 	var event = e || window.event
 }

  • 把值变成布尔值
4.5 js类型运算符

typeof(返回变量的类型)
instanceof(返回 true,如果对象是对象类型的实例)

4.6 js位运算符

‘&’,‘|’,‘~’,‘^’,‘<<’,‘>>’,‘>>>’

运算符的优先级:

‘=’优先级最低,()优先级最高;
赋值运算符的优先级低于算数运算符

赋值的顺序从右向左;
计算的顺序从左往右;

var a = 1,b = 2;
b%= a + 3; // b = b%(a+3)
console.log(b);
结果:2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值