JavaScript
ECMA-262:
变量,函数,对象,数据类型。。。。唯独没有输入和输出。
Javascript:包含
ECMA-262,核心
BOM 浏览器对象模型,
DOM 文档对象模型
什么是javascript:
Javascript是弱类型,具有面向对象能力的、解释型的程序语言。
更具体的说法是,基于对象和事件驱动的客户端脚本语言。
浏览器的阵营:
Ie浏览器:
标准浏览器:
IE9之后的
非标准浏览器:
IE9之前的
谷歌,火狐,苹果,欧鹏
Javascript:
- 表单验证
- 页面中的特效
- Ajax页面无刷新(异步传输)
Javascript使用:
alert();警告弹出;
多行注释/* */
单行注释为 //,只注释双斜杠后面内容,
script的是用方法:
- 放到<script></script>标签内部; ★★★★★
- 做外部链接,用<script src=”地址”></script> ★★★★标签内部不允许写任何东西
- 事件驱动例如:<div onclick="alert('今天很不错')">今天天气怎么样</div> ★★★
- <a href="javascript:void(0);">哪都不想去</a>--void(0)可以省略★
Script:
- src:存放js代码的地址;
- type: 声明代码的语言类型
变量
Javascript,区分大小写
标识符:
所谓的标识符就是,变量,函数,属性,参数。。。的名字(也就是起的名字),
- 第一个字符必须是字母或_(下划线)或者$(美元符)
- 其他的字符可以是字母、下划线或数字或者美元符
- 不能把保留字,和关键字作为标识符
标识符命名方法:
驼峰命名:my_name
Alert123
myName
ECMAScript 全部关键字
break |
else |
new |
var |
case |
finally |
return |
void |
catch |
for |
switch |
while |
continue |
function |
this |
with |
default |
if |
throw |
|
delete |
in |
try |
|
do |
instanceof |
typeof |
保留字
abstract |
enum |
int |
short |
boolean |
expot |
interface |
static |
byte |
final |
long |
super |
char |
float |
native |
synchronized |
class |
goto |
package |
throws |
const |
extends |
private |
transient |
debugger |
implements |
protected |
volatile |
double |
import |
public |
数据类型:
分为1种的说法:
Js中的所有内容皆为对象,即使不是对象在运算过程中也会被转为对象,因为js是基于对象的语言。
分为2种的说法:
简单数据类型(值类型)和复杂数据类型(引用类型)
分为6种的说法:
Undefined 未定义
Boolean 布尔
Number 数字
String 字符串
Object 对象
Null 空对象
typeof用来检测数据类型,对值或者变量返回出对应的类型。
undefined 未定义类型
boolean 布尔类型
number 数字类型
string 字符串类型
object 对象类型
function 函数类型
Undefined 类型:
undefined(未定义类型)类型只有一个值,undefined
当使用var 声明一个变量,但没有为其赋值,这个时候系统会自动给一个值,这个值就是undefined。
Boolean类型:
boolean(布尔类型),只有两个值,true和false。就是真和假(有或者没有,行或者不行,确定或者不确定,)
Number类型:
number(数值类型)分为三种:整数、浮点数、NaN
整数:
十进制:
1、2、3、10、20、30、、、、、、
八进制(以8为基数,前导必须为0,八进制的序列为0~7)
070、转换为十进制就是56
十六进制(它的基数为a~f,0~9,前导必须为0x,)
0xff 转换为十进制为255
0xd5 转换为十进制为213
浮点数:
小数:
0.5 0.6 0.8
科学记数法:
0.5 5*e-1
2330000000000 233*e10
NaN(Not a Number ):
错误提示,
但是他是一个特殊的值,
这个值有两个特点:
- 不与任何数值相等,包括自身。
- 极具传染性,和任何值发生运算都会变成NaN
NaN的唯一检测方法
isNaN 是唯一检测NaN 的方法,isNaN()
是true为NaN 是false为不是NaN
String字符串类型:
var x="wo";
string 字符串类型 用引号包裹起来的东西都叫做字符串
建议使用单引号,要与html区分开;
Object对象类型:
ECMAScript中定义的对象是一组数据和功能的集合。对象可以由new操作符来实例化一个对象。
var x=new Object();
Object()可以进任意传参、可以传数值,布尔,字符串等。而且还可以进行相应的计算。
Null空对象类型:
Null表示了一对象的空指针
var w = null;
alert(w); // null
alert(typeof w); //object
null与undefined是什么关系,
null与undefined 是相等的,
区别为:
类型不同
但是值相同
Null表示的是空对象, 待业青年
Undefined 表示的是未定义的变量, 无业游民
Null是最终要被接受对象的,
Undefined是不知道
数据类型的转换:
Js是一种弱类型的语言,弱类型语言是在声明的时候不需要制定数据的类型,在运算的时候会根据需要进行类型的转换。
类型转换分为两种,显示转换(强制转换)、隐式转换(自动转换)
自动转换:
自动转换是发生在运算或判断过程中,不需要书写,转换是都是向着更为精确的方面发生转换。
强制转换:
Number类型:
ParseInt()只是转换为整数使用的
纯数字,直接转化为纯数字。
浮点数,只转换点前面的整数部分,点后面将被忽略。
纯数字之外的其他字符,会被转换为NaN,
转化的时候会从第一位开始,若前面开始部分为空格,将忽略掉空格,如果第一个字符不是正或者负号或者数字将会被转换为NaN
若开始的部分为正或负符号,(只能出现一次),然后开始解析数字,直到遇到非数字,解析结束,若是没有数字,将被转换成NaN,
parseFloat()可以转化浮点数
跟parseInt()一样,只不过识别了一位小数点。 Number()
Undefined NaN
Boolean true:1 false :0
String 纯数字,或者浮点数直接转换;
(空格不算)直接转换为0
其他都为NaN
Number 直接转换
Object 除了null都是NaN
Null 直接转换为0
String()
String()将其他数据全部转换为字符串
返回的值是以字符串形式显示的,不再具有任何类型的意义。
对任何数据都有效。
布尔值的转换:
Boolean() 将其他数据转换为布尔值
Undefined false
Boolean 不用
Number 0、0.0、NaN 转化为false 其他都为true
String 只有空字符串味false 其他都为true
Object 除了null 其他都为true
Null false