目录

基础篇(二)-JS基本语法

自学小笔记

JS程序的基本语法

  • JS是区分大小写的。如:Name和name是两个变量。
  • JS中每一条语句,以分号结束。这个分号不是必须的,为了向PHP兼容,最好加上分号。

变量的类型–就是数据的类型

  • 变量的数据类型:数值型字符型布尔型未定义型空型数组对象函数

  • 变量的数据类型,分两大类

  • 基本数据类型:数值型、字符型、布尔型、未定义型、空型。很显著的特点:一个变量只能存一个值。

  • 复合数据类型:数组、对象、函数。显著的特点:一个变量名,可能存多个值。

数值型:变量能进行数学运算的

  • 数值型包括:整形浮点型NaN(not a number)。
  • 数值型中还有一个很特殊的值NaN。不是一个数字。当将其他数据类型转成数值型,转不过去,但程序又不能报错,这时将返回一个NaN的值。

字符型:用单引号或双引号引起来的字符串。

单引号和双引号之间可以相互嵌套。

  • 单引号内只能嵌套双引号
  • 双引号内只能嵌套单引号

如果想在双引号内,在嵌套双引号,里面的双引号需要进行转义。

  • js中的转义字符是反斜杠\.
  • 常用的转义字符有\',\",\\,\r,\n等。
  • 当浏览器遇到反斜杠的时,将会对其后的一个字符进行特殊对待,当成普通字符来对待,比如123abc等。
  • 弹窗中的换行只能用\n来实现;而不能使用<br>,只有在<body><br>才会解析成换行符。

未定义型

  • 当一个变量定义,但未赋值时,将返回未定义型,未定义型的值只有一个undefined
  • 当一个对象的属性不存在,也返回未定义型undefined

空型

  • 当一个对象不存在是,将返回空型,空型的值只有一个null
  • 也可以理解为:是一个对象的占位符。如果想清除一个变量的值,可以附一个null的值。

变量类型的转换

js中其他类型自动转换成布尔值

要被转换的类型变量 转换后的结果
var a = “abc” true
var a = “123” true
var a = "" false
var a = 100 true
var a = 0 false
var a = NaN true
var a = undefined true
var a = null true

布尔值的转换

使用Boolean()全局函数,强制转成布尔型。

var a = 100;
var result = Boolean(a);

字符型的转换

使用String()全局函数,强制转成字符型。

var a = 100;
var result = String(a);

其他类型转成数值型

使用Number() 全局函数,进行强制转换。

如果参数是Date对象,Number()返回1970年1月1日至今的毫秒值。

如果对象的值无法转换为数字。那么返回NaN。

注意:全局函数或系统函数,是JS内置的函数,名称或大小写必须一致。

要被转换的类型变量 转换后的结果
var a = true 1
var a = false 0
var a = “120px” NaN
var a = “100” 100
var a = "" 0
var a = NaN true
var a = undefined NaN
var a = null 0

判断变量的数据类型:typeof()

使用一元运算符typeof(),可以测试一个变量的类型。 typeof()测试的结果是一个类型字符串。 typeof()的结果字符串有几种情况:“string”,“number”,“boolean”,“undefined”,“object”,“function”。

typeof()返回的object类型,有几种情况: null、对象、数组。

函数和方法的区别

Boolean(a)	//函数是可以独立使用的。
document.write(a)	//方法不能独立使用,方法是必须要属于哪一个对象。

从字符串中提取证书和浮点数函数

parseInt()

功能: 在一个字符串中,从左往右提取整形。如果遇到非整形的内容,则停止提取,并返回结果。

注意: 如果第一个字符就是非整数,则立即停止,并返回NaN

parseFloat()系统函数、全局函数

功能: 在一个字符串中,从左向右提取浮点型:遇到非浮点型内容,则停止提取,并返回结果。

功能: 如果第一个字符就是非浮点型,则立即停止,并返回NaN。

JS运算符

**1.算数运算符: + ,- ,* , /, %, ++, --**

**2.赋值运算符: =、+=、 -=、\*=、/=**

**3.字符串运算符:+、+=**

**4.比较运算符:>, <, >=, >=, ==, != ,=== ,!==**

  • =是赋值号。
  • ==等于。指比较两个变量的值,而不管类型。只要值一样,就返回true,否则返回false
  • ===全等于。既比较变量,也判断类型。如果类型和值都一样,才会返回true

**5.逻辑运算符: &&、||、!**

**6.三目运算符**

语法:条件表达式?结果1:结果2

含义: 如果条件为true,则执行结果1;如果条件为false则执行结果2.

特殊运算符

  • new 运算符: 创建一个对象。如:var today = new Date();
  • delete 运算符:删除数组的元素,或者对象的属性。
  • typeof运算符:一元运算符,主要功能:判断变量的类型。
  • 点运算符(.):主要应用在对象中,通过点运算符(.)去调用属性或方法。如:window.alert("ok");
  • []中括号:主要用来访问数组元素的。如arr[0]=100;

运算符的优先级

特殊运算符 > 算数运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符

运算符类别 优先级
. [ ] new ( ) 级别最高
! ++ – 次之上级
* / % 次之上级
+ - 次之上级
< > >= <= 次之上级
== != === !== 次之上级
&&
= += -= /= *= %= 次之上级

window.prompt()

  • 功能:弹出一个输入框,让用户来输入内容。

  • 语法: var year = windown.prompt(text[,defaultText])

  • 参数:

参数名 说明
text 提示信息
defaultText 可选性,也就是可有可无.输入框的默认内容

返回值:如果单击确定按钮,返回一个字符串的数据。如果取消按钮,返回一个null。

break语句

描述: break语句,用于无条件结束各种循环(退出循环)和switch。 说明: 一般情况下,需要在break语句之前加一个条件判断。

continue

描述:结束本地循环,开始下一次循环。 说明: 一般情况下,需要在continue语句之前加一个条件判断。

数组

一组数的集合,称为集合。 var arr = [10,20,30,40]

数组的创建方法

1 使用new关键字和Array()来创建数组。

var arr = new Array(); //创建一个空数组

var arr = new Array("小花",34,"男"); //创建一个数组并赋值。

数组元素的值可以是任意类型。

给数组添加某一个角标时,下表可以不连续,但是值为undefined

删除元素:delete arr[index];//删除的只是元素的值,而下角标的空间占有还在。

函数

函数定义格式的说明

  • function关键字是必须的,全小写。
  • 函数名称命名规则和变量名一样。
  • (): 是定义函数时接收数据的参数。参数可有可无,多个参数之间用逗号隔开。
    • –形参(形式参数):定义函数时的参数就是形参。形参不能用var定义,不需要声明。
    • –实参(实际参数):调用函数时的参数称为实参。

如果function无返回值,调用函数后本身的值就是undefined

匿名函数:没有名字的函数

匿名函数,不能单独定义的,也不能单独调用。

匿名函数,一般是作为数据给其他变量赋值的。

var a = function(){
			window.alert("OK");
		} //将函数赋给变量a,那么a就是函数型变量。
a();	//调用函数

二维数组

给一个数组元素,附一个数组的值,那么,这个数组就是二维数组。

二维数组可以关联到表格。

JS对象的分类

JS内置对象 BOM对象 DOM对象 自定义对象
数组对象、日期对象、字符串对象等 浏览器各组件对象,包括:window、document、location、history等 文档对象,包括所有HTML标记,每一个HTML标记对视一个对象 根据自己项目需要,自己定义自己的对象

自定义对象

1 new 关键字创建。

// 1. 使用new关键字结合构造函数Object()来穿件一个空的对象。
var obj = new Object();
// 2. 增加属性
obj.name = "张三"
obj.age = 24;
obj.sex = "男";

// 3.增加方法: 将一个函数定义赋给对象属性,那么该属性变成方法。
obj. showInfo = function(){
					window.alert();
				}
// 4.调用对象方法
obj.showInfo();

2 使用大括号{}来创建对象。

var obj = {
	name : "张三";
	sex  : "男";
	age  : 24;
	showInfo : function(){
					window.alert();
	}
}

简单的小实例