JS基础语法和数据类型

                                         1.基础语法

1.JS概念

JavaScript是用于实现用户交互、动态控制文档的外观和内容,动态控制浏览器操作、创建cookies等网页行为的跨平台、跨浏览器的由浏览器解释执行的客户端脚本语言,js文档:https://zh.javascript.info/#tab-1。

2.特点

1.是基于对象的弱类型语言:弱类型语言:是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变量自动进行转换,不需要经过显性强制转换。弱类型语言包括vb,php,javascript等。

2.强类型语言:是一种强制类型定义的语言,一旦某一个变量被定义类型,如果不经过强制转换,则它永远就是该数据类型了,强类型语言包括java,net,c++等。

3.跨平台:Linux,windows,mac只要有浏览器,就能够运行。

4.事件驱动:鼠标点击,鼠标悬浮,鼠标移动,键盘按下,键盘弹起,获取焦点,失去焦点,加载等常用的事件。

3.Java和JavaScript相同么?

1.二者完全没有关系,网景(Netscape)公司只是为了借着Java语言比较火的东风,将LiveScript..语言更名成为了JavaScript语言。

2.Java是由Sun Microsystems公司开发的更强大也更复杂的高级程序设计语言,而Javascript是由浏览器解释执行的客户端脚本语言。

        

4.JS的用途

1.表单客户端验证。

2.动态HTML(DHTML):不需要人为介入,就能自动实现动画效果。

3.用户交互的动画效果:需要鼠标和键盘介入的动画效果。

4.动态添加一些网页内容。

5.动态的获取和改变html元素的属性或css属性,从而动态的创建网页内容或改变内容的显示。

5.JavaScript的运行开发环境

1.开发:用于编辑HTML文档的字符编辑器。

2.运行:Netscape Navigator 3.0 或 Internet Explorer 3.0及以上版本。

3.注意:JavaScript的程序是通过客户端浏览器来解析的,他的解析与Web服务器无关。

6.js的优点和局限

优点:

1.使用JavaScript可以在客户端进行数据验证,节省服务器端的资源。 例:https://login.sina.com.cn/signup/signup?entry=homepage

2.可以方便地操纵各种页面中的对象,使网页更加友好。

3.使多种任务仅在客户端就可以完成而不需要网络和服务器的参与,从而支持分布式的运算和处理。

局限:

1.兼容性。互联网上有很多浏览器,如FireFox,Internet Explorer、Opera等,但各种浏览器支持JavaScript的程度是不一样的,所以各个浏览器运行JavaScript的效果会有一定的差距,有时甚至会显示不出来。

2.JavaScript不能打开、读写和保存用户计算机上的文件。

7.JS的组成

一.ECMAScript:

1.是Javascript的核心基础,JavaScript 的正式名称是 "ECMAScript"。这个标准由 ECMA 组织发展和维护。

2.ECMA-262 是正式的 JavaScript 标准,提供语法、数据类型、语句、关键保留字、流程控制、内置对象、运算符等规范,定义了脚本语言的所有属性、方法和对象。

二.DOM(Document Object Model) 动态管理HTML、XHTML、XML元素。

三.BOM(Browser Object Model) 动态操作浏览器窗口和框架。

8.如何在HTML中引入Javascript

1.引入js文件:写在script标签内部(可以使用多个,每一个之间都是有联系的)。

2.注意事项:

1.js代码必须放在结束的后面【原因:js会阻塞dom的解析;当js加载没有完成,页面是不会继续往下执行的。

2.在head中添加js代码,必须使用window.onload。

3.不能在style中添加js代码。

9.如何在HTML中使用Javascript

1.使用事件传入javascript代码:

10.如何在页面输出JavaScript

1.alert("这是我的输出页面"); 弹窗输出;

2.document.write(“这是我输出的内容”); 在页面输出,可以输出标签;

3.console.log() 在控制台中打印,打印任意字符或者js的变量信息; 可以接受任何字符串、变量、数字、对象;

11.JS的命名规范

一.命名规范:

1.一定要有意义。

2.不能以数字开头。

3.第一个字符必须是一个字母、下划线或是一个美元符号$。

4.其他字符可以是字母、下划线、美元符号或是数字。

5.不能是系统的关键词。

6.推荐使用小驼峰命名法。

二.javascript区分大小写:

1.变量名、函数和操作符,第一个单词小写以后每个单词首字母大写(getElementById 、aaBbCc)驼峰式命名法。

2.注意:不能把关键字、保留字、true、false和null用作标识符。

12.JS语句与注释

javaScript中的语句以一个分号结尾,如果省略分号,则由解析器确定语句的结尾,一般情况下,换行会被当做一个语句的结尾

注释://…… 单行注释   /…/ 多行注释

                                     2.数据类型

1.变量的声明和赋值

  什么是变量:

 一. 解释:可以变化的量

1. 变量是用于存储信息的容器

2. 变量是一段命名的存储空间

3. 变量是在程序运行过程中值允许改变的量

4. 变量是由变量名,变量值,和变量类型组成

二.变量名命名规则:

1. 第一个字符必须为字母,_或$,其后的字符还可以是数字

2. 严格区分大小写,要有一定的含义

3. 建议使用小驼峰规则来命名变量。redApple

4. 不能使用关键词,保留字作为变量名

2.变量的命名和赋值

1.var 变量名

   变量名=值

2.var 变量名=值

3.变量名=值

4.var 变量1=值1,变量2=值2,变量3=值3

注意:

1.变量名是浏览器关闭后才释放在,在没关闭之前随时使用

2.重新声明的变量,不会丢失原始值,除非重新赋值

3.换行是语句的结束,最好结束时都加上 “ ; ”

一:JavaScript的数据类型分为两种:原始类型(即基本数据类型)和对象类型(即引用数据类型); js常用的基本数据类型包括:

undefined - - (未定义)、null- - (空的)、number - - (数字)、boolean- - (布尔值)、string- - (字符串)

二:js的引用数据类型也就是:

对象类型Object- - (对象),比如:array - - (数组)、function - - (函数)、data - - (时间)等;

三:JS为弱类型语言,不必声明数据类型,而是在使用或赋值的时候确定其类型 基本数据类型存放在栈中 引用数据类型存放在堆中

3.强类型语言/弱类型语言

强类型语言【java】:

1.要求变量的使用要严格符合定义,所有变量都必须先定义后使用。

2.一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。

弱类型语言【js/python/php】:

1.它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

4.类型:

1.本地对象:string,Array,Date,Math,Golbal,独立于宿主环境的ECMAScript实现提供的对象.

2.宿主对象:DOM,BOM。ECMAScript中的‘宿主’就是我们网页的运行环境,即‘操作系统’和‘浏览器’。

5.判断数据类型:

可以通过typeof运算符来判断数据类型

6.String【重要】:

js中用来表述文本的数据类型:

1.字符串用单引号或双引号包括起来

2.单双引号均不能解析变量

3.变量与字符串,变量与变量之间可以使用运算符‘+’来链接

4.单引号和双引号可以互相嵌套,如果单引号中要嵌套单引号,需要使用转义字符

注意:

1.\n换行(在alert中生效)

2.8进制表示法【进行两次转换,这里面的数字是ASCII中表示的八进制数字】

3.16进制表示法

4.16进制unicode表示法

7.Number:

一:按照进制划分:二进制、八进制、十进制、十六进制

二:按照其他划分:整形、浮点型、NaN(not a number)

整形:

0,6,-100,0xff00(十六进制),0377(八进制),0b1010(二进制),不管输入的是几进制,最终显示时都会转为10进制。

浮点型:

1.2,0.123,3.14e11=>3,14*10^11  科学计数法

NaN(not a number):

1.NaN是一个特殊的number值,not a number表示非数字,当程序由于某种原因计算错误时,将产生一个无意义的数字NaN

2.NaN与任何值都不想等,包括NaN本身
3.任何涉及NaN的操作,结果都为NaN

8.Boolean:

1.值只有true和false。分别代表逻辑真与假

2.布尔值通常用来表示比较所得的结果

3.true和false是严格区分大小写的

9.undefined【了解】:

1.定义了一个变量但没有为该变量赋值,使用了一个并未赋值的变量

2.使用了一个不存在的对象的属性时

10.null【了解】:

1.null表示一个空值

2.null不等于空字符串""、''或0

3.null和undefined的区别是,null表示一个变量被赋予了一个空值,而undefined则表示该变量尚未被赋值

11.Array(数组)【重要】:

创建数组:

方法一:var 数组名=new Array();

方法二:var cars=new Array("Audi","BMW","BYD");

方法三:var cars=["Audi","BMW","BYD"];

获取数组中的值:

12.Object 对象【重要】:

对象:一切皆对象

面向过程:按照时间的发生顺序,从上往下依次执行 对象

对象:指挥对象做某件事情

对象:

1.{ },使用{ }包括起来的都是对象

2.[ ], 使用[ ]包括起来的都是数组

创建对象:

方法一:var 对象名称 = new Object();

方法二:var 对象名称 = {'键':‘值’,'键':‘值,'键':‘值,'键':‘值};