第二章   avaScript核心语法

一.变量的声明和赋值

JavaScript是一种弱类型语言,没有明确的数据类型,也就是在声明变量时不需要指定数据类型,变量的类型由赋给变量的值决定。

在JavaScript中,变量是使用关键字var声明的,语法:

var 合法的变量名;

JavaScript的变量命名规则和Java命名规则相同。

JavaScript区分大小写,所以大小写不同的变量名表示不同的变量。

另外,由于JavaScript是一种弱类型语言,因此允许不声明变量而直接使用,系统将会自动声明该变量。例如:x=88;//没有声明x直接使用。

二.数据类型

1.    undefined(未定义类型)

undefined类型只有一个值,即undefined。当声明的变量未初始化时,该变量的默认值是undefined,例如:var  widtd;

2.    null(空类型)

null类型只有一个值,即null。表示“什么都没有”,用来检测某个变量是否被赋值。

值undefined实际是值null派生出来的,因此javaScript把它们定义为相等的。例如:

Alert(null==undefined);  //返回者为true

尽管这两个值相等,但是它们的含义不同;

Undefined表示声明了变量但未赋值;

Null则表示给该变量赋了一个空值;

3.    number(数值类型)

javaScript中定义的最特殊的类型是number类型,这种类型即表示32位的整数,又可以表示64位的浮点数.

整数也可以表示为八进制或十六进制,八进制首数字必须是0,其后是(0~8);十六进制的手数字也必须是0,其后是(0~9)(A~F)。

另外一个特殊值NaN(Not a Number)表示非数字,它是number类型,例如:

Typeof(NaN);             //返回者位number

4.    String(字符串类型)

在javascript中,字符是一组被引号(单引号或双引号)括起来的文本。

与java不同,javaScript不对“字符”或“字符串”加以区别,因此var a=”a”也是字符串类型。

和Java相同,javaScript中String也是一种对象,它有一个length属性,表示字符串的长度(包括空格等)。

String 对象常用的方法

方法

描述

indexOf(str,index)

查找某个指定的字符串str在字符串中首次出现的位置

charAt(index)

返回指定位置index的字符

toLowerCase()

把字符串转为小写

toUpperCase()

把字符串转换为大写

Substring(index1,index2)

返回位于索引index1和index2之间的字符串,并且包括索引index1对应的字符,不包括index2对应的字符

Split(str)

将字符串以str为分割单位分割成字符串数组,str=””则分割成单个字符

5.    boolean(布尔类型)

boolean类型数据称为布尔型数据或逻辑型数据,boolean类型是ECMAScript中常用的类型之一,它只有两个值:true和false

6.    typeof

ECMAScript提供了typeof运算符来判断一个值或变量究竟属于哪种数据类型。

语法:typeof(变量或值);

其返回的值如下:

1)  undefined

2)  number

3)  String

4)  Boolean

5)  Object:如果变量是null类型,或者变量是一种引用类型,如对象,数组,函数,则返回object

三.数组

和java一样,javaScript中的数组也需要先创建,赋值,再访问数组元素,并通过数组的一些方法或属性对数组元素进行处理。

  1. 创建数组

语法:var  数组名称=new Array(size);

例如:var  fruit=new Array(5);表示创建了一个名称为fruit,有5个元素的数组。

  1. 为数组元素赋值

1)  var  fruit=new  Array(“apple”,”pear”,”orange”,”peach”);

2)  var  fruit=new  Array(4);

fruit[0]=”apple”;

fruit[1]=”pear”;

fruit[2]=”orange”;

fruit[3]=”peach”;

3)var  fruit=[“apple”,”pear”,”orange”,”peach”];

  1. 访问数组

可以通过数组的名称+下标直接访问数组的元素,访问数组的表示形式:数组名[下标]。例如fruit[0]标识访问数组中的第一个元素,fruit数数组名,0表示下标。

  1. 数组中常用的属性和方法

类别

名称

描述

属性

Length

设置或返回数组中元素的数目,为整形

方法

Join()

把数组的所有元素放入一个字符串,通过一个分割符进行分隔

sort()

对象数组排序

Push()

向数组末位添加一个或多个元素,并返回新的长度

1)  Length

如果在创建数组时就指定了数组的size值,那么无论数组中是否存储了实际数据,该数组的length值都是这个指定的长度值size。例如,var  fruit=new  Array(4);那么fruit.length=4。

2)  join(分隔符)

例:

var  fruit=”apple,orange,peach,banana”;//创建一个字符串

var  arrlist=fruit.split(“,”);//定义一个数组接收 字符串fruit以”,”分割的元素

var  str=arrlist.join(“-”);//用”-”符号把数组中元素连接在一个字符串中

结果:apple – orange – peach -banana

四.运算符号

类别

运算符号

算数运算符

+、-、*、/、%、++、--

比较运算符

>、<、>=、<=、==、!=、===、!==

逻辑运算符

&&、||、!

赋值运算符

=、+=、-=

===表示恒等,要求数值类型和值都要相等,==要求值相等

!===表示不恒等,取反===

五.逻辑控制语句

在javaScript中,逻辑控制语句用于控制程序的执行顺序,同java一样,也分为两类:

  1. 条件结构

1)if结构

2)switch结构

  1. 循环结构

1)  for循环

2)  while循环

3)  do-while循环

4)  for-in循环

语法:

for(变量 in  对象){

}

例:var  fruit=[“apple”,”orange”,”peach”,”bannaa”];

for(var  i  in  fruit){

document.write(fruit[i]+”<br/>”);

}

5)  中断循环

break;可以立即退出整个程序

continue;只退出当前的循环,根据条件判断下一次循环

六.注释

当行注释:  //

多行注释:/*注释内容*/

七.关键字和保留字

关键字(首字母全部小写)

Break

Case

Catch

Continue

Default

Delete

Do

Else

Finally

For

Function

If

In

Instanceof

New

Return

Switch

This

Throw

Try

Typeof

Var

Void

While

With

保留字(首字母全部小写)

Abstract

Boolean

Byte

Char

class

Const

Debugger

Double

Enum

Export

Extents

Final

Float

Goto

Implements

Import

Int

Interface

Long

Native

Package

Private

Protected

Public

Short

Static

Super

Synchronized

Throws

Transient

volatile

八.常用的输入/输出

  1. alert( )警告

语法: alert(“提示信息”);

创建一个特殊的对话框,对话框带有一个字符串和“确定”按钮

  1. prompt( )提示

语法:prompt(“提示信息”,”输入框的默认信息或空的输入框”);

Prompt()方法第一个参数值显示在对话框上,通常是一些提示信息,第二个输入框出现在用户输入的文本框中,有“确定”和“取消”两个按钮,“取消”则返回为null,“确定”则返回一个字符串型数据。

九.语法约定

  1. 大小写的区分

1)  javascript的关键字;如for和if,永远都是小写的

2)  内置对象,如Math和Date以大写字母开头

3)  对象的名称通常小写,遵循骆驼命名法。

  1. 变量、对象和函数的名称

与java命名规范相同,“字下美…”

  1. 分号

Javascript允许开发者自行决定是否以分号结束一行代码,如果没有分号,javascript就将行代码的末尾看作该语句的结尾。

为了代码的规范,不推荐不使用分号结尾。

十.调试

打开chrome浏览器,按F12进入调试:

>1:Elements:用于查看和编辑当前页面中的HTML和CSS元素.

>2:Console:用于显示脚本中所输出的调试信息,或运行测试脚本等.

>3:Sources:用于查看和调试当前页面所加载的脚本的源文件.

>4:Network:用于查看HTTP请求的详细信息,如请求,响应及返回内容等。

>5:Timeline:用于查看脚本的执行时间,页面元素渲染时间等信息.

>6:Profiles:用于查看CPU执行时间与内存占用等信息.

>7:Resource:用于查看当前页面所请求的资源文件,如HTML,CSS样式等。

>8:Audits:用于优化前端页面,加速网页加载速度等.

其次,通过alert()方法输出变量值也可以进行调试.

十一.常用的系统函数

  1. parseInt()

parseInt()函数可以解析一个字符串,并返回一个整数。如果第一个字符不是数值类型,则返回NaN,表示不是数组类型,如中间遇到非数值字符,则会省略后面的字符,返回前面的数值。

  1. parseFloat()

parseFloat()函数可以解析一个字符串,并返回一个浮点数。方法与parseInt()相似。如果第一个字符不是数值类型,则返回NaN,表示不是数组类型,如中间遇到非数值字符,则会省略后面的字符,返回前面的数值。

例: var a=parseFloat(36s22.0);//返回值36.0

  1. isNaN()

isNaN()函数用于检查其参数是否非数字,如果不是数字则返回true,如果是数字返回flase。

例:var  flag=isNaN(“12.5s”);  //返回为true,区别与parseInt()和parsrFloat()函数的转换,isNaN()函数不会省略后面的字母。

十二.自定义函数

1.定义函数

在javascript中,自定义函数是由关键字function、函数名、一组参数及置于括号中的待执行的javascript语句组成的,语法:

Function  函数名(参数一,参数二…){

//javascript语句;

[return  返回值]

Function是定义函数的关键字,必须有.

2.调用函数

要执行一个函数,必须调用这个函数,当调用函数时,必须指定函数名及其后面的参数(有参函数)。函数的调用一般和元素的事件结合使用。

语法:

时间名=”函数名([参数])”;

十三.变量的作用域

与java中的变量一样,在javascript中,根据变量作用范围不同,可分为全局变量和局部变量。

全局变量是在所有函数之外的脚本中声明的变量。

局部变量是在函数内声明的变量。

十四.事件

名称

说明

onload

一个页面或一副图像完成加载

onlick

鼠标单击某个对象

onmouseover

鼠标移动到某个元素上

onkeydown

某个键盘按键被按下

onchange

域的内容被改变

例:

<!DOCTYPE HTML>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title> 加载事件 </title>

<script type="text/javascript">

function message(){

alert("加载中,请稍等…"); }

</script>

</head>

<body onLoad="message()">

欢迎学习JavaScript。

</body>

</html>

注:

onload 事件会在页面或图像加载完成后立即发生。

  语法

  onload="SomeJavaScriptCode"参数 描述

  SomeJavaScriptCode 必需。规定该事件发生时执行的 JavaScript。

  支持该事件的 HTML 标签:

  <body>, <frame>, <frameset>,
<iframe>, <img>, <link>, <script>

  支持该事件的 JavaScript 对象:

  image, layer, window

第二章 JavaScript核心语法的更多相关文章

  1. JavaScript交互式网页设计 • 【第1章 JavaScript 基本语法】

    全部章节   >>>> 本章目录 1.1 JavaScript 概述 1.1.1 JavaScript 简介 1.1.2 JavaScript 的概念和执行原理 1.1.3 J ...

  2. java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...

  3. [书籍翻译] 《JavaScript并发编程》 第二章 JavaScript运行模型

    本文是我翻译<JavaScript Concurrency>书籍的第二章 JavaScript运行模型,该书主要以Promises.Generator.Web workers等技术来讲解J ...

  4. 第二章 JavaScript文档(上)

    JavaScript 1.JavaScript简介 起源 在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成.Netscape在最初将其脚本语言命名 ...

  5. JavaScript DOM编程艺术学习笔记-第二章JavaScript语法

    一.JavaScript示例 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  6. 第二章 JavaScript语法·

    javascript代码放置位置: 1.将代码放置在文档<head>标签中的<script>标签之间: 2.将代码存为一个扩展名为.js的独立文件.典型做法是在文档的<h ...

  7. (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识

    开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...

  8. JQuery制作网页—— 第二章 JavaScript操作BOM对象

    1.window对象: 浏览器对象模型(BOM)是javascript的组成之一, 它提供了独立与浏览器窗口进行交换的对象,使用浏览器对象模型可以实现与HTML的交互. 它的作用是将相关的元素组织包装 ...

  9. C#高级编程笔记之第二章:核心C#

    变量的初始化和作用域 C#的预定义数据类型 流控制 枚举 名称空间 预处理命令 C#编程的推荐规则和约定 变量的初始化和作用域 初始化 C#有两个方法可以一确保变量在使用前进行了初始化: 变量是字段, ...

随机推荐

  1. spring中aop的注解实现方式简单实例

    上篇中我们讲到spring的xml实现,这里我们讲讲使用注解如何实现aop呢.前面已经讲过aop的简单理解了,这里就不在赘述了. 注解方式实现aop我们主要分为如下几个步骤(自己整理的,有更好的方法的 ...

  2. Spring任务调度定时器

    1.在spring-context.xml配置 <!-- 计划任务配置,用 @Service @Lazy(false)标注类,用@Scheduled(cron = "0 0 2 * * ...

  3. SIMD---MMX代码优化

    单指令多数据流,即SIMD(Single Instruction, Multiple Data)指一类能够在单个指令周期内同时处理多个数据元素的指令集,利用的是数据级并行来提高运行效率,典型的代表由I ...

  4. 13.C++-静态成员变量、静态成员函数

    首先回顾下成员变量 能通过对象名能够访问public成员变量 每个对象的成员变量都是专属的 成员变量不能在对象之间共享 再来讲讲类的静态成员变量 介绍 静态成员变量属于整个类所有 静态成员变量的生命期 ...

  5. c++运行时函数

    函数 包含 类别 功能 _atold math.h 数学子程序 把字符串转换成浮点数 _beginthread process.h 进程控制子程序 启动执行一个新线程 _bios_disk bios. ...

  6. Mysql语句的执行过程

    当你希望MySQL能够以更高的性能运行查询时,最好的办法是弄清楚MySQL是如何优化和执行查询.<高性能MySQL> MySQL客户端与服务器端的通信特点 客户端与服务器之间是半双工通信, ...

  7. C++环境搭建与atom编译器编译C++

    Windows下安装 方法一--VS: 使用windows开发神器visio studio.这种方法比较简单,直接下载一个最新的vs安装就行.不单单是C++,C.C#.VB等都可以开发. 方法二--只 ...

  8. shiro权限框架(五)

    五.与Spring集成 5.1 环境准备 <dependency> <groupId>org.apache.shiro</groupId> <artifact ...

  9. [学习笔记]Javaweb开发视频教程之Tomcat9配置

    参考自北京动力节点的视频教程:https://www.bilibili.com/video/av14548279/?p=1 1.Java XE Java SE 是做电脑上运行的软件. Java EE ...

  10. 从源码来看ReentrantLock和ReentrantReadWriteLock

    上一篇花了点时间将同步器看了一下,心中对锁的概念更加明确了一点,知道我们所使用到的锁是怎么样获取同步状态的,我们也写了一个自定义同步组件Mutex,讲到了它其实就是一个简版的ReentrantLock ...