1、为什么要学习js

因为你没有选择。在Web世界里,只有JavaScript能跨平台、跨浏览器驱动网页,与用户交互。

2、js简介,  人物,事件,时间,历史原因,什么是ECMAScript

rendan Eich这哥们在两周之内设计出了JavaScript语言。实上JavaScript除了语法上有点像Java,其他部分基本上没啥关系

几个公司联合ECMA(European Computer Manufacturers Association)组织定制了JavaScript语言的标准,被称为ECMAScript标准

3、引入方式,(两种) 如何编写  ,如何运行

    1、两种引入方式,一种内联,一种外部引用, 

    2、对于jsp

type="text/javascript"

有的时候,不引入,会没有作用

    3、编写的话,一般用vscode,

    4、运行,必须先有一个HTML页面,在HTML页面中引入JavaScript,然后,让浏览器加载该HTML页面,就可以执行JavaScript代码。​​file://​​​开头的地址无法执行如联网等JavaScript代码,最终,你还是需要架设一个Web服务器,然后以​​http://​​开头的地址来正常执行所有JavaScript代码。

4、调试

    两种方式,一种是console.log, 一种是source里面打断点

5、js的基本语法   结尾符号,花括号,注释,大小写

    1、每个语句以​​;​​​结束,语句块用​​{...}​

    2、不强制要求在每个语句的结尾加​​;​​​,浏览器中负责执行JavaScript代码的引擎会自动在每个语句的结尾补上​​;​

    3、花括号的作用,定义一个块

    4、注释,单行//  多行  /* */

    5、严格区分大小写,并且使用小驼峰形式的命名

6、数据类型

    1、Number:  JavaScript不区分整数和浮点数,统一用Number表示,以下都是合法的Number类型:

         -99 NaN  无法计算的时候显示 Infinity  超过js计算的最大值显示

    2、String:  字符串   以单引号'或双引号"括起来的任意文本,比如​​'abc'​​​,​​"xyz"​​等等

    3、Boolean: 一个布尔值只有​​true​​​、​​false​​两种值  ,也可以通过计算得来  (与或非的计算)

    4、比较运算符  ==  和=== 的区别

    5、null和undefined  :  JavaScript的设计者希望用​​null​​​表示一个空的值,而​​undefined​​​表示值未定义。事实证明,这并没有什么卵用,区分两者的意义不大。大多数情况下,我们都应该用​​null​​​。​​undefined​​仅仅在判断函数参数是否传递的情况下有用。

    6、数组:  数组是一组按顺序排列的集合,集合的每个值称为元素。JavaScript的数组可以包括任意数据类型。

[1, 2, 3.14, 'Hello', null, true];

数组的两种创建方式    var a = new Array(1,2,3)   var a = [1,11,3]

出于代码的可读性,建议使用[]

数组的元素可以通过索引来访问。请注意,索引的起始值为​​0​

    6、对象(Object):  JavaScript的对象是一组由键-值组成的无序集合

要获取一个对象的属性,我们用​​对象变量.属性名​​的方式

person.name; // 'Bob'

7、变量: 变量不仅可以是数字,还可以是任意数据类型。 在js中就是用一个变量名表示,

变量名是大小写英文、数字、​​$​​​和​​_​​​的组合,且不能用数字开头。变量名也不能是JavaScript的关键字,如​​if​​​、​​while​​等。

   申明变量用 var      例如: var a = 12; 不要使用中文

8、strict  模式

并不强制要求用​​var​​​申明变量,这个设计错误带来了严重的后果:如果一个变量没有通过​​var​​申明就被使用,那么该变量就自动被申明为全局变量:

i = 10; // i现在是全局变量

ECMA在后续规范中推出了strict模式,在strict模式下运行的JavaScript代码,强制通过​​var​​​申明变量,未使用​​var​​申明变量就使用的,将导致运行错误。

这是一个字符串,不支持strict模式的浏览器会把它当做一个字符串语句执行,支持strict模式的浏览器将开启strict模式运行JavaScript。

9、字符串   

    1、JavaScript的字符串就是用​​''​​​或​​""​​括起来的字符表示。

          转义字符​​\​​​来标识,如果出现多个的情况下 比如​​\n​​​表示换行,​​\t​​​表示制表符,字符​​\​​​本身也要转义,所以​​\\​​​表示的字符就是​​\​​。

    2、多行字符串(es6) 使用  ` sasa `    包裹的元素,就是在声明的时候,就发生了转行

    3、模板字符串   1、使用+   2、使用${name}  3、

var name = '小明';
var age = 20;
var message = `你好, ${name}, 你今年${age}岁了!`;
alert(message);

    4、字符串常见的操作

   var  s='Hello,world'

   s.length    字符串的长度

   s[2]    求得单个字符,这个时候你给他赋值,是不会改变的,仍然为s[2] = l  而不是改变的我

   方法

        1、​​toUpperCase()​​把一个字符串全部变为大写:

        2、​​toLowerCase()​​把一个字符串全部变为小写:

        3、​​indexOf()​​会搜索指定字符串出现的位置:   返回竖线位置的索引 。没有的话,返回-1

        4、​​substring()​​返回指定索引区间的子串:   s.subString(0,5)  返回world