第二章 JavaScript核心语法
第二章 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中的数组也需要先创建,赋值,再访问数组元素,并通过数组的一些方法或属性对数组元素进行处理。
- 创建数组
语法:var 数组名称=new Array(size);
例如:var fruit=new Array(5);表示创建了一个名称为fruit,有5个元素的数组。
- 为数组元素赋值
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”];
- 访问数组
可以通过数组的名称+下标直接访问数组的元素,访问数组的表示形式:数组名[下标]。例如fruit[0]标识访问数组中的第一个元素,fruit数数组名,0表示下标。
- 数组中常用的属性和方法
|
类别 |
名称 |
描述 |
|
属性 |
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)if结构
2)switch结构
- 循环结构
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 |
|||||
八.常用的输入/输出
- alert( )警告
语法: alert(“提示信息”);
创建一个特殊的对话框,对话框带有一个字符串和“确定”按钮
- prompt( )提示
语法:prompt(“提示信息”,”输入框的默认信息或空的输入框”);
Prompt()方法第一个参数值显示在对话框上,通常是一些提示信息,第二个输入框出现在用户输入的文本框中,有“确定”和“取消”两个按钮,“取消”则返回为null,“确定”则返回一个字符串型数据。
九.语法约定
- 大小写的区分
1) javascript的关键字;如for和if,永远都是小写的
2) 内置对象,如Math和Date以大写字母开头
3) 对象的名称通常小写,遵循骆驼命名法。
- 变量、对象和函数的名称
与java命名规范相同,“字下美…”
- 分号
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()方法输出变量值也可以进行调试.
十一.常用的系统函数
- parseInt()
parseInt()函数可以解析一个字符串,并返回一个整数。如果第一个字符不是数值类型,则返回NaN,表示不是数组类型,如中间遇到非数值字符,则会省略后面的字符,返回前面的数值。
- parseFloat()
parseFloat()函数可以解析一个字符串,并返回一个浮点数。方法与parseInt()相似。如果第一个字符不是数值类型,则返回NaN,表示不是数组类型,如中间遇到非数值字符,则会省略后面的字符,返回前面的数值。
例: var a=parseFloat(36s22.0);//返回值36.0
- 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核心语法的更多相关文章
- JavaScript交互式网页设计 • 【第1章 JavaScript 基本语法】
全部章节 >>>> 本章目录 1.1 JavaScript 概述 1.1.1 JavaScript 简介 1.1.2 JavaScript 的概念和执行原理 1.1.3 J ...
- java面向对象编程——第二章 java基础语法
第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...
- [书籍翻译] 《JavaScript并发编程》 第二章 JavaScript运行模型
本文是我翻译<JavaScript Concurrency>书籍的第二章 JavaScript运行模型,该书主要以Promises.Generator.Web workers等技术来讲解J ...
- 第二章 JavaScript文档(上)
JavaScript 1.JavaScript简介 起源 在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成.Netscape在最初将其脚本语言命名 ...
- JavaScript DOM编程艺术学习笔记-第二章JavaScript语法
一.JavaScript示例 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- 第二章 JavaScript语法·
javascript代码放置位置: 1.将代码放置在文档<head>标签中的<script>标签之间: 2.将代码存为一个扩展名为.js的独立文件.典型做法是在文档的<h ...
- (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识
开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...
- JQuery制作网页—— 第二章 JavaScript操作BOM对象
1.window对象: 浏览器对象模型(BOM)是javascript的组成之一, 它提供了独立与浏览器窗口进行交换的对象,使用浏览器对象模型可以实现与HTML的交互. 它的作用是将相关的元素组织包装 ...
- C#高级编程笔记之第二章:核心C#
变量的初始化和作用域 C#的预定义数据类型 流控制 枚举 名称空间 预处理命令 C#编程的推荐规则和约定 变量的初始化和作用域 初始化 C#有两个方法可以一确保变量在使用前进行了初始化: 变量是字段, ...
随机推荐
- spring中aop的注解实现方式简单实例
上篇中我们讲到spring的xml实现,这里我们讲讲使用注解如何实现aop呢.前面已经讲过aop的简单理解了,这里就不在赘述了. 注解方式实现aop我们主要分为如下几个步骤(自己整理的,有更好的方法的 ...
- Spring任务调度定时器
1.在spring-context.xml配置 <!-- 计划任务配置,用 @Service @Lazy(false)标注类,用@Scheduled(cron = "0 0 2 * * ...
- SIMD---MMX代码优化
单指令多数据流,即SIMD(Single Instruction, Multiple Data)指一类能够在单个指令周期内同时处理多个数据元素的指令集,利用的是数据级并行来提高运行效率,典型的代表由I ...
- 13.C++-静态成员变量、静态成员函数
首先回顾下成员变量 能通过对象名能够访问public成员变量 每个对象的成员变量都是专属的 成员变量不能在对象之间共享 再来讲讲类的静态成员变量 介绍 静态成员变量属于整个类所有 静态成员变量的生命期 ...
- c++运行时函数
函数 包含 类别 功能 _atold math.h 数学子程序 把字符串转换成浮点数 _beginthread process.h 进程控制子程序 启动执行一个新线程 _bios_disk bios. ...
- Mysql语句的执行过程
当你希望MySQL能够以更高的性能运行查询时,最好的办法是弄清楚MySQL是如何优化和执行查询.<高性能MySQL> MySQL客户端与服务器端的通信特点 客户端与服务器之间是半双工通信, ...
- C++环境搭建与atom编译器编译C++
Windows下安装 方法一--VS: 使用windows开发神器visio studio.这种方法比较简单,直接下载一个最新的vs安装就行.不单单是C++,C.C#.VB等都可以开发. 方法二--只 ...
- shiro权限框架(五)
五.与Spring集成 5.1 环境准备 <dependency> <groupId>org.apache.shiro</groupId> <artifact ...
- [学习笔记]Javaweb开发视频教程之Tomcat9配置
参考自北京动力节点的视频教程:https://www.bilibili.com/video/av14548279/?p=1 1.Java XE Java SE 是做电脑上运行的软件. Java EE ...
- 从源码来看ReentrantLock和ReentrantReadWriteLock
上一篇花了点时间将同步器看了一下,心中对锁的概念更加明确了一点,知道我们所使用到的锁是怎么样获取同步状态的,我们也写了一个自定义同步组件Mutex,讲到了它其实就是一个简版的ReentrantLock ...