JS介绍,入门,引入,变量,类型(原始值),运算符,比较运动符,逻辑运算符

257 阅读4分钟

js引入

type属性告诉浏览器是js代码可以省略但是不要写错
type属性值若是text/tpl禁止js运行,可以当作库存来用
解释型语言 var 数字类型浮点型

行为样式结构相分离

  1. 页面级别js 直接写

  2. 外部引入js文件

      <script src="static/js/jquery-3.4.1.js" type="text/javascript" charset="utf-8"></script>
    
  • 注意内部不能内外部同时使用
  1. js基本语法

1.1 变量的声明

  • 定义一个变量 var a; //变量的声明 从系统要个位置 但没有数据
  • a = 100; //将100赋值给a
  • var a = 100; 等于上面
  • 想使用数据 document.write(a) //100 1.2 变量一次全声明(单一var模式)
  • var a,b,c,d,e;
  • a=100;
  • b = 200;
  • c = 300;
  • d = 400;
  • e = 500;
  • 或者直接声明加赋值
  • 注意,号隔开

1.3 变量常识

  • var a = 10;
  • a = 20;
  • 变量被覆盖值为20

1.4 变量名称

  • 字母数字下划线$起名字 不能以数字开头
  • 不可以用关键字命名 有意义
  • 保留字命名 未来可能用

1.5 起名字的时候注意写语义

1.6 变量之间运算顺序

  • 运算大于赋值,右面计算完赋值给左边

1.7 数据类型

* 原始值 Number String Boolean underfined null 存在栈里

原始值会覆盖

* 引用值 arry object function date regexp 存在堆里

引用值不覆盖

引用值和原始值赋值不一样
不可改变的原始值,不可能在栈中改值 存进去就出不来了(只是改了关系变量名去掉了)
  • 123 数字类型
  • 字符串直接加“”,写里的内容是字符串
  • boolean true 和 false var b= true; //true
  • underfined 定义了但是未赋值
  • null是占位(覆盖方法,空间原有的东西覆盖) 1.8 由值决定类型
  • var a = 10 ;
  • a = "abc" ;
  • 由数字转换成字符串

1.9 每个语句后加分号,最好写,好处系统识别代码用分号,一个分号执行一句

2.0 开发规范 等号左右有空格

js错误

2.1 语法解析错误

只会影响本块的对于页面其他模块没事
  • 解释型语言 大体扫描一下,执行0行代码

2.2 逻辑错误

只会影响本块的对于页面其他模块没事
  • 逻辑错误 未声明 会执行代码,错误了就会终止

2.3 console控制台 调试js东西

1. 逻辑算数运算符

2.4 +号

  • 数值
  • 字符串连接
  • 任何数据类型与字符串连接就是 字符串
  • 自左向右运算,符合数学 var a = 1 + 1 + "a" + (1 + 1)// 2a2

2.5 - * /号

  • 跟数学一样

2.6 0/0 值为 NaN

2.7 0在分母

  • 1/0 值 infinity
  • -1/0 值 -infinity

2.8 % 摩尔

  • 5%2 值 1
  • 5%1 值 0

2.9 ++ --

a= a+1 ----- a++

a= a-1 ----- a--

  • a++ a++表达式值不变,a值+1
  • ++a 表达式和值都+1
  • 表达式遵循数学逻辑,自左向右
  • var a+=10 a++ 10次
  • var a+=10+1 右面向左计算

3.0 运算符

  • +=         -=        *=         /= 同+=
  • %=
  • 1.1 var a = 10 a%=2 a=0
  • 1.2 var a = 0 a%=2 0

2. 比较运算符

> <

  • var a = 1>2 //false
  • var a = 1<2 //true
  • 除了数字 其他都是ASCII码比较 0~127
  • A 65 a 72 0 48
  • var a = "10" + "8" //false
  • 先拿开头比较

== >= <=

  • 左右两边的值是否相等
  • infinity == infinity
  • underfined == underfined

!=

  • NaN != NaN

3. 逻辑运算符

&&

  • var a=1&&2; //2
  • 先看a=1 转换成布尔值是否为真,真的话看第二个表达式的值是不是真,若是真就是表达式的运算结果直接返回
    • underfined , null,NaN,"", 0, false 转换成布尔值为false
  • var a = 0 && 2 +2 ; //0
  • var a = 1 && 0; // 0
  • var a = 1 && 1; //1
  • var a = 1 && false && 1; //false
  • var a = 1 && 1 && 0; //0
  • var a = 1+1 && 1-1; //0
  • 短路语句
  • if 替代

&

  • 1&1 //1
  • 1&2 //0
  • 1&3 //0
    • 01
    • 11
    • 01 //1
    • 与运算1与1为1 1与0 为0 相同为1 不同为0

|| 用来写兼容

  • 1 || 3 //1
  • 0 || 3 //3
  • 4 || 0 //4
  • 0 || 4 //4
  • 0 || false //false 返回最后一个

e 与event

     div.onclick = function (e){
         //非ie var event = e;
         //ie   window.event=e;
         var event = e|| window.event
     }

! 否

  • 转换成布尔值取反
  • var a = !123 //false
  • var a = !"" //true
  • var a = !!"" //false

三目运算符

a==b 返回一个等于

a!=b 返回一个不等于

a ==b?"等于"如果a等于b了,就返回一个等于。

a ==b?"等于":"不等于"

如果条件满足,就返回前面的。

如果条件不满足,就返回后面的。

结构: 条件?:满足条件的返回内容:不满足条件的返回什么内容;