美文网首页我爱编程
js学习笔记----Day01历史和运算符

js学习笔记----Day01历史和运算符

作者: Pamela_Liu | 来源:发表于2018-04-02 20:42 被阅读0次

JavaScript

JavaScript历史

  • 1992 Nombas公司开发出, C minus minus , 用于CEnvi IDE.

  • (建议用IE10)

2. Netscape 开发livescript, 用于Netscape Navigate浏览器

3. 微软jscript

  • ECMAScript是Javascript标准 版本ES5 ES6

JavaScript组成

1. ECMAScript

2. DOM 文档对象模型

  • 是 HTML 和 XML 的应用程序接口(API)。DOM 将把整个页面规划成由节点层级构成的文档。

  • DOM 通过创建树来表示文档,从而使开发者对文档的内容和结构具有空前的控制力。用 DOM API 可以轻松地删除、添加和替换节点。

3. BOM 描述了与浏览器进行交互的方法和接口

  • 弹出新的浏览器窗口

  • 移动、关闭浏览器窗口以及调整窗口大小

  • 提供 Web 浏览器详细信息的定位对象

  • 提供用户屏幕分辨率详细信息的屏幕对象

  • 对 cookie 的支持

  • IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 JavaScript 实例化 ActiveX 对象

语法

<style type="text/css">

</style>

<script type="text/javascript">

</script>
  • script常规位置:
    1. script标签可以写在body开始标签和结束标签中, 并且script标签建议写在body结束标签之上(推荐位置)
    </pre>

2. head里

  • 查看输出结果

1. 警示框:alert();

2. 控制台输出:console.log();


console.warning('1');

console.error('1');

js注释
  • 单行注释

  • 多行注释 ctrl + shift + /

注意点:

1. 一定要全部选中

2. 不能嵌套

  • 作用: 提高代码的可读性. 方便程序员之间交流. 并且不参与程序编译和执行

变量

  • 变量的声明 var -> variable

  • 赋值符 =


//变量的声明

var name;

//2\. 变量的赋值

name = "Tim";


var name = "Tim";

  • 每句末尾要加上分号;

若不写, 项目上线前需要代码进行打包(压缩), 比如会把换行, 分号去掉. 若不写;会出现压缩问题

变量

  • 变量命名: 只可用英文大小写字母 _ $

  • 变量命名规范

1. 驼峰命名法 大驼峰 小驼峰

2. 匈牙利命名法: 加上小写字符 sName iName 表示变量类型

  • 注意点

  • 变量不能以数字开头,尽量少用下划线,容易跟系统的变量混淆

  • 变量的命名是区分大小写的

  • 同一个作用域的变量名不能重复

  • 不能使用关键字或者保留字进行命名

js_word.png js_word1.png

js是弱语法的语言

会报警告,但是不会编译不通过


console.log(name); 

=> 

//Emmet快捷键

name.log + Tab或者Enter


//查看变量类型

console.log(typeof name);

=> 

typeof name.log

若无赋值得出undefined

  • 科学计数法

2.34e-4 = 2.34 * (0.1)^4

  • 变量类型: string number null boolean object undefined

运算符的优先级

运算符优先级.jpeg
//表达式: 由 数字, 变量, 运算符组成的一个式子
//优先级: 运算符执行顺序是由优先级决定的, 优先级高的先执行
//结合性: 运算符同优先级情况下, 结合性决定运算符的执行顺序, 是从左往右,还是从右往左运算
//左结合: 从左往右
//右结合: 从右往左运算</pre>

(一) 算术运算符

自加自减在表达式中结果
  • a++形式会先赋值, 后加减
 var a = 3;
 var b = 5;
 var c = a++ + b++; // 3 + 5
 console.log(a); //4
 console.log(b); //6
 console.log(c); // 3 + 5 = 8</pre>

  • ++a形式会先加减,后赋值

var a = 3; // 4
var b = 5; // 6
var c = ++a + ++b; // 4 + 6
console.log(a); // 4
console.log(b); // 6
console.log(c); // c = 4 + 6 = 10</pre>

注意(易错点):

var d = 2;
// 优先级问题, 先自增后相加赋值给f
var f = d++ + d++ + d++; // 2 + 3 + 4
console.log(d); //5
console.log(f); // */

//f 的值: 2 + 3 + 4 = 9
//d 变量的值    : 3   4   5</pre>

    var d = 2;
    var f = (++d) + (++d) + (++d); // 3 + 4 + 5
    console.log(d); //5
    console.log(f); // 12

    //f 的值: 3 + 4 + 5 = 12
    //d 变量的值    : 3   4   5</pre>

(二) 赋值运算符

  • 不能在声明变量的时候使用复合赋值运算符

//下面示例是错的

var a += 1;

//NAN: not a number 非数值类型

// typeof undefined

(三) 关系运算符

  • 目前所学除了===, 其他都是只比较值,不比较类型

  • 全等=== 值和类型都相等

  • 不等!= 只比较值,不比较类型

(四) 逻辑运算符

  • 要求两边都是boolean值, 除了非!

  • && 逻辑与 有假则为假

  • || 逻辑或 有真则为真

  • !

  • 三目运算符

特殊性
  • 非0即真

1. 与运算符特殊性
结论:

  • && 两边有一边不是布尔, 会先将非布尔值转换为布尔值
  • 若左边值为真, 返回右边的值
  • 若左边值为假, 返回左边的值</pre>

2. 或运算特殊性
结论:

  • || 两边有一边不是布尔, 会先将非布尔值转换为布尔值
  • 若左边值为真, 返回左边的值
  • 若左边值为假, 返回右边的值
    3. 非运算符!
    结论:
  • 先将非boolean值转换成boolean类型, 然后返回取反后的布尔值.

逻辑与或非, 有特殊性的时候, 不要管优先级.</pre>

隐式转换

1. 数字和字符串相加减时

  • 加号+时, 都转换成字符串(只有+时是转换成字符串, 其他都是转换成数字)

  • 减号-时, 都转换成数字

2. * / % 都是转换成数字

相关文章

  • js学习笔记----Day01历史和运算符

    JavaScript JavaScript历史 1992 Nombas公司开发出, C minus minus ,...

  • 原生js

    原生JS学习笔记1——基本数据类型和运算符 js的背景知识介绍,js的引入方式,js的变量及运算符 原生JS学习笔...

  • JavaScript逻辑运算符

    逻辑运算符 前面我们学习了JS的算术运算符和比较运算符,本篇文章我们继续学习JS的逻辑运算符,在编程语言里,比较和...

  • js基础day01

    js基础 day01 一.js历史 1.什么是JavaScript 1995年在网景公司,发明的JavaScrip...

  • 比较运算符

    前端学习分享(js中比较运算符的使用) 本文旨在搞清楚比较运算符的用法和场景,在js中比较运算符有以下8个 == ...

  • 2018-08-20

    今天学习了JS 运算符 JS 比较 JS If...Else JS Switch JS For JS While ...

  • JavaScript 02 (运算符和选择结构)

    js的关系运算符,js的逻辑运算符,js的赋值运算符,js的运算符的优先级问题,js的自增和自减,js的选择结构 ...

  • MySQL 中的运算符和常用函数

    MySQL学习笔记(3) 运算符 类型:算术、比较、逻辑和位运算符 算术运算符 比较运算符 比较运算符可比较数字、...

  • kotlin 解构函数声明和运算符重载operator

    kt的解构函数声明和运算符重载operator学习笔记###

  • SQL学习笔记Day2

    SQL学习笔记day2 SELECT 语句基础算术运算符和比较运算符逻辑运算符 SELECT 语句基础 selec...

网友评论

    本文标题:js学习笔记----Day01历史和运算符

    本文链接:https://www.haomeiwen.com/subject/bvzxhftx.html