栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaScript入门

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript入门

目录

1.JS概述

1.1 JS初始

1.2 Javascript与Java的关系

1.3 JS组成

1.4 JavaScript特点

1.4.1 解释型语言

1.4.2 动态语言

1.4.3 类似于 C 和 Java 的语法结构

1.4.4 基于原型的面向对象

1.4.5 严格区分大小写

1.4.6 弱语言

1.5 ECMAScript 版本

2.JS三种使用方式

2.1 内部脚本

2.2 外部脚本

2.3 嵌入元索事件中

3 变量命名和声明

3.1 JavaScript 变量的命名规范

3.2 变量声明

4 数据类型及其转换

4.1 原始类型(基本类型)

4.2.1 数字类型Number

4.2.2 字符串类型String

4.2.3 布尔类型Boolean

4.2.4 空Null

4.2.5 未定义Undefined

null,undefined,NaN的区别

4.2 引用类型(对象类型):

4.3 类型转换

5 函数

5.1 函数声明:

5.2 函数调用:

6 数组

6.1 创建数组:

6.2 访问数组:

7.关于for循环

7.1 for-each

7.2 for-in

7.3 for-of


1.JS概述

1.1 JS初始

     JavaScript是网景(NetScape)公司的 布兰登·艾奇 Brendan Eich开发的,最初叫做LiveScript。LiveScript的出现让浏览器更加生动(live),使得页面更具有交互性。 

        JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

1.2 Javascript与Java的关系

        JavaScript和java没有任何关系,只是语法类似。

        JavaScript运行在浏览器中,代码由浏览器解释后执行。而Java运行在JVM中。

        JavaScript的“目标程序”以普通文本形式保存,这种语言都叫做"脚本语言“。Java的目标程序已.class形式存在,不能使用文本编辑器打开,不是脚本语言。

        Java和JavaScript区别与联系

        1998年网景公司由“美国在线”公司收购。

        网景公司最著名的就是“领航者浏览器”:Navigator浏览器。
        LiveScript的出现,最初的时候是为Navigator浏览器量身定制一门语言,不支持其他浏览器。       

        微软一看不行,研发了只支持IE浏览器的脚本语言。JScript。在两者语言共存的时代,程序员需要写两套程序。这时一个叫做ECMA组织(欧洲计算机制造商协会)根据JavaScript制定了ECMA-262标准,叫做ECMA-Script.

1.3 JS组成

  • 核心(ECMAScript)
  • 文档对象模型(DOM,Document Object Model),让JS有能力与网页进行对话
  • 浏览器对象模型(BOM,Browser Object Model)让JS有能力与浏览器进行对话

1.4 JavaScript特点

        JavaScript是运行在浏览器上的脚本语言,简称JS。    

        JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。      

  •         解释型:运行之前是不需要编译的,运行之前不会检查错误,直到碰到错误为止
  •         编译型:对源码进行编译,还能检查语法错误(C/C++)

         JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

1.4.1 解释型语言

        JavaScript是一门解释型语言,所谓解释型值语言是指不需要被编译为机器码在执行,而是直接由JS引擎执行。        由于少了编译这一步骤,所以解释型语言开发起来尤为轻松,但是解释型语言运行较慢也是它的劣势。不过解释型语言中使用了JIT技术,使得运行速度得以改善。

        

1.4.2 动态语言

        JavaScript是一门动态语言,所谓的动态语言可以暂时理解为在语言中的一切内容都是不确定的。        比如一个变量,这一时刻是个整型,下一时刻可能会变成字符串了。当然这个问题我们以后再谈。不过在补充一句动态语言相比静态语言性能上要差一些,不过由于JavaScript中应用的JIT技术,所以JavaScript可能是运行速度最快的动态语言了。

1.4.3 类似于 C 和 Java 的语法结构

        JavaScript的语法结构与C和Java很像,向for、if、while等语句和Java的基本上是一模一样的。所以有过C和Java基础的同学学习起来会轻松很多。不过JavaScript和与Java的关系也仅仅是看起来像而已。

1.4.4 基于原型的面向对象

        JavaScript是一门面向对象的语言。啥是对象?下次聊。

        Java也是一门面向对象的语言,但是与Java不同JavaScript是基于原型的面向对象。啥是原型?下次聊。

1.4.5 严格区分大小写

        JavaScript是严格区分大小写的,也就是abc和Abc会被解析器认为是两个不同的东西。

1.4.6 弱语言

        数据类型由数据决定

1.5 ECMAScript 版本

JavaScript 已经由 ECMA(欧洲计算机制造商协会)通过 ECMAScript 实现语言的标准化

JavaScript 年限表
年份名称描述
1995网景公司开发了JavaScript
1996
 
微软发布了和JavaScript兼容的JScript
1997ECMAScript 1第一个版本 ECMA-262标准
1998ECMAScript 2版本变更
1998
 
DOM Level1的制定
1998
 
新型语言DHTML登场.
1999ECMAScript 3添加正则表达式
添加 try/catch
2000
 
DOM Level2的制定
2002年
 
ISO/ IEC 16262:2002的确立
2004年
 
DOM Level3的制定
2005年
 
新型语言AJAX登场
2009ECMAScript 5添加 "strict mode",严格模式
添加 JSON 支持,新型语言HTML5登场
2011ECMAScript 5.1版本变更
2015ECMAScript 6添加类和模块
2016ECMAScript 7增加指数运算符 (**)
增加 Array.prototype.includes

2.JS三种使用方式

2.1 内部脚本

        JavaScript源代码可以出现在文档头部( )和文档体部( )





JavaScript直接方式


    Hello World
    


2.2 外部脚本

        在HTML页面中引用外部JavaScript脚本的语法格式如下所示:


2.3 嵌入元索事件中

        JavaScript脚本也可以直接嵌入到HTML元素中去,这种方式多见于处理事件时

3 变量命名和声明

        变量是一种使用方便的占位符,用于引用计算机内存地址。 我们可以把变量看做存储数据的容器。

3.1 JavaScript 变量的命名规范
  1. 变量名称可以包含数字,字母,下划线,美元$符号,不能包含其他特殊字符,包括空格。
  2. 变量名不能以数字开头。
  3. 不能使用JS的关键字和保留字
  4. 命名尽量含有对应意思,见名知意
  5. 采用驼峰命名

(JavaScript 语句和 JavaScript 变量都对大小写敏感.)

3.2 变量声明

        当一个变量声明的时候没有使用var关键字,那么不管这个变量是在哪里声明的,都是全局变量。声明过程中不要省略关键字var,省略则表示全局变量

  • 全局变量在函数体之外声明。浏览器关闭的时候才会销毁。
  • 局部变量:在函数体内部声明。在函数体执行完后才销毁。

        let声明:只在let命令所在的代码块内有效   

        const声明:只读常量,值不能再改变

4 数据类型及其转换

4.1 原始类型(基本类型)

4.2.1 数字类型Number

如:NaN,表示Not a Number不是一个数字,但是属于Number类型。

Infinity,表示无穷大。

0,-1,123,…小数,复数,无穷大都是属于number类型。

除数为0时,结果为无穷大。

函数isNaN(数据):结果为true表示不是一个数字。
parseInt()函数:可以将字符串自动转换成数字。保留Int
parseFloat()函数:将字符串转换成数字。
Math.Ceil()函数:向上取整。2.1会变为3。

4.2.2 字符串类型String

1.在JS当中字符串可以使用单引号和双引号。
2.在JS当中,怎么创建字符串对象
第一种:var s=“sag”;(小String,属于String类型)
第二种:var a2= new String(“ab”);(大String,属于Object类型)
Sting是一个内置的类,可以直接使用。
3.无论是小String还是大Sting字符串的长度相同。其中又一个length属性求长度(x.length)

常用函数:
indexof: 获取指定字符串在当前字符串中第一次出现的索引
lastIndexof
replace
substr
substring
toLowerCase
toUpperCase
spilt 拆分字符串

例如:alert(“fasdf".indexof(“sdf”));

replace只替换最前面一个子字符串
如果想全部替换需要使用正则表达式。

substr和substring的区别。
substr(startIndex length)
substring(startIndex endIndex)左闭右开。

4.2.3 布尔类型Boolean
 

4.2.4 空Null
 

4.2.5 未定义Undefined
 

null,undefined,NaN的区别

1.数据类型不一致

alert(typeof null);//Object
alert(typeof NaN);//number
alert(typeof undefined);//undefined

2.null和undefined可以等同

alert(null=NaN);//false
alert(null=undefined);//true
alert(underfined=NaN);false

在JS当中有两个比较特殊的运算符:

1."==" :等同运算符:只判断值是否相等(双等号)
2."= = =":全等运算符:既判断值是否相等,又判断数据类型是否相等。(三等号)

alert(11 == ture);//true
alert(11=== ture);//false

4.2 引用类型(对象类型):
  1. 简单数据类型Object:一组数据的集合
  2. 数组Array
  3. 函数Function
  4. 日期Date
  5. 正则表达式对象RegExp
  6. 包装类型
  • 首先Object类型是所有类型的超类
    自定义的任何类型,默认继承Object。
  • Object的prototype属性
    作用:给类动态地扩展属性和函数。
  • Object类的函数:
    toString()
    valueof()
    toLocalString()
  • 在JS中定义的类默认继承Object的属性和函数。

4.3 类型转换
  • 隐式转换:
    1. 函数typeof()
    2. NaN
  • 显示转换
    1. toString()
    2. parseInt()
    3. parseFloat()
    4. Number()

5 函数

5.1 函数声明:

function 函数名(){
可执行语句;
}

5.2 函数调用:

任何JS的合法位置都可以调用;
语法:函数名称();

6 数组

6.1 创建数组:
  1. 数组直接量:var arr=[];
  2. 用new:var arr=new Array();

6.2 访问数组:
  • 固定套路:
    1. 获得最后一个元素:arr[arr.length-1]
    2. 获得倒数第n个元素的位置:arr[arr.length-n]
    3. 数组缩容
    4. 遍历数组
  • 三个不限制:
    1. 不限制数组的元素个数
    2. 不限制下标越界
    3. 不限制元素的数据类型

7.关于for循环

7.1 for-each

方法对数组的每个元素执行一次提供的函数。

用来遍历数组,不能用来遍历对象,该方法不能使用break,continue语句跳出循环,或者使用return从函数体返回,对于空数组不会执行回调函数

forEach方法中的function回调有三个参数:

  1. 遍历的数组内容

  2. 对应的数组索引,

  3. 数组本身

语法:

 [ ].forEach(function(value,index,array){
    //code something
     });

7.2 for-in

可以遍历对象,尽量不要使用于遍历数组

7.3 for-of

用来遍历数组,不能遍历对象

可以使用break,continue和return

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1014644.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号