前端之JavaScript

一、JavaScript(之前叫ECMAScript)

        也是一门面向对象式的编程语言,是脚本语言。JavaScript与java没有任何关系。之所以叫Javascript是为了蹭java的热度

      1、javascript注释

           单行注释   / /

           多行注释  /* */

           JavaScript中的语句要以分号(;)为结束符。

      2、javascript的引入方式

            01、通过script 标签引入外部js文件

            02、style 标签内直接书写

            注意:js在演示可以直接再浏览器中书写  浏览器适天然的js编写的ide工具

       3、ES6就是指ECMAScript 6。

           实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:

  • 核心(ECMAScript) 
  • 文档对象模型(DOM) Document object model (整合js,css,html)
  • 浏览器对象模型(BOM) Broswer object model(整合js和浏览器)

           简单地说,ECMAScript 描述了JavaScript语言本身的相关内容。

JavaScript 是脚本语言
JavaScript 是一种轻量级的编程语言。

JavaScript 是可插入 HTML 页面的编程代码。

JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。

二、JavaScript 语言基础

     1、声明变量

JavaScript的变量名可以使用_,数字,字母,$组成,不能以数字开头。推荐使用驼峰式命名:userName。(python中变量名可以使用_,数字,字母组成,不能以数字开头。推荐用下划线命名:user_name)。

声明变量使用 var 变量名; 的格式来进行声明 (5.1版本及之前的版本使用)

声明变量使用 var 变量名;或者 let 变量名 的格式来进行声明(6.0版本及之后的版本使用)

js中是有真正意义上的常量,声明常量的关键字是 const (python中没有真正意义上的常量 默认全大写的变量名表示的就是常量的意思)

var声明的变量无论在什么位置声明都能影响全局
let声明的变量 如果是在全局声明的那么就作用于全局 但是如果是在局部声明的那么只作用于局部

     2、数据类型

注意:js中的所有事物都是对象:对象只是带有属性和方法的特殊数据类型

          01、JavaScript不区分整型和浮点型,就只有一种数字类型(number)。但是js还有一种NaN数字类型,表示不是一个数字(Not a Number)。(python中有int整型,float浮点型。)

          02、字符串类型(String)

 

                                    .split(切分符,数字:表示切分后保留几个)                             分隔                                         .split(切分符,数字:表示按切分符从前到后切几个出来)

 

          03、模板字符串和格式化输出。(python中用  '字符串'.format()   可以索引传值,指定传值,对应传值)

 

 

 

 

          04、布尔值(boolean) : ture 、false ('' '' 、0 、null 、undefined 、NaN)  。但是python中布尔值是 True、False (' ' 、0  、[ ]、{ }、none)

null表示变量的值是空(null可以手动清空一个变量的值,使得该变量变为object类型,值为null),undefined则表示只声明了变量,但还没有赋值。

         对象

         05 、数组[ ]    (类似于python中的列表)

 

 

 forEach()  的语法:forEach(function(currentValue,index,arr),thisValue)

例如:

var ss = [11,22,33,44]

ss.forEach(function(currentValue){console.log(urrentValue)})

 实例:

 

 

 .splice(index,howmany,要添加的元素)

实例:

 

 

 

 map()  的语法:map(function(currentValue,index,arr),thisValue)

例如:

var ss = [1,2,3,4]

ss.map(function(value,index,arr){return value + 1})

 实例:

 

 

 

     3、类型查询

 

 

 

     4、运算符

算术运算符:+(加) -(减) *(乘) / (除) %(求余) ++(自增)    --(自减)

 

 

 比较运算符 >(大于)  >=(大于等于)  <(小于)  <=(小于等于)  !=(弱不等于)  ==(弱等于)  ===(强等于)  !==(强不等于)

 

 逻辑运算符 &&(与)  | |(或)   !(非)

 赋值运算符  =  +=  -=  *=   /=

 

  

     5、流程控制

if...else if...else ...语句

 

switch 语句

 

 

 for 语句

 

 

 

 while 语句

 

 

     6、三元运算     (python中的三元运算是:  语句体1 if 条件 else 语句体2 。条件成立执行语句体1 ,条件不成立执行语句体2)

 

 

     7、函数 : 用关键字 function 来定义一个函数 如下:

普通函数(无参函数)

 

有参函数

 

 带返回值函数

 

 匿名函数

 

 立即执行函数:()() 

 

 

 箭头函数

 

例子:

 

 

 注意:函数中的参数:

arguments参数

 

 例子:

 

 

 

    8、自定义对象

第一中方式:

var s1=''abcd''

 

注意:当遍历时:不能用对象点的方式

 

 

 第二中方式:用关键字new 

var s2 = new String(''abcde'') 或者 var s3 = new object()

 

 注意:

 

 

 

    9、Date对象

 

 

 

 

 

 

   10、JSON对象(*******)

 

 

 

   11、RegExp对象

 

 全局匹配

 

 注意:lastIndex 属性是,匹配一个字符串时,第一次匹配到了,继续匹配会从第一次匹配到的结果的位置往后,若没有匹配成功则返回false,再继续匹配会从头开始,就是ture了。

例子解释:

 

 注意例子:

 

 

 注意:正则表达式里 不能有空格

 

 12、javascript 与Python的对照

posted @ 2019-12-28 15:41  薛定谔的猫66  阅读(305)  评论(0)    收藏  举报