基础篇(二)-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();
}
}
简单的小实例