javascript
笔记
哲学笔记pdf明清笔记pdf政法笔记下载课堂笔记下载生物化学笔记PDF
一.数据类型
(1).初始类型
1.undefined
变量创建了但没有赋值时的默认值 没有声明的变量typeof 运算结果也为undefined
2.null
仅仅是一个占位符 用于初始化对象
3.string
单双引号包围的值
单双引号的用法
不可相互交叉 但可以相互嵌套
包含一些特殊的值
\n 换行
\t 制
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
符
\" "
4. boolean
5.num
包括整型和浮点型 默认十进制 支持其他进制
会把无意义的0去掉 比如 var a = 99.0 alert(a)返回99
八进制必须以0开头 不符合规范的会去掉前导0按按十进制处理 输出的是十进制
var a = 070 alert(a)返回 56
十六进制要以0x 开头
二进制可以输出 但输入没有接口(?)
科学记数法 用e来表示10的几次方 后面必须加上指数 即使是一次方 eg:20 表示为 2e1 0.2表示为2e-1
规定的最大值最小值 两个常量表示为
Number.MAX_VALUE(大写)
Number.MIN_VALUE
超过这两个值会被赋值为 Number.POSITIVE_INFINITY Number.NEGATIVE_INFINITY
有专门表示无穷大和无穷小的无穷大为Infinity 无穷小表示为-Infinity
alert( Number.POSITIVE_INFINITY === Infinity) 返回ture
isFinite() 判断一个数字是否是无穷 alert(isFinite(2)) 返回true
NaN Not A Number 看做常量 用于系统提示
isNaN() 不能转换为数字返回true 能返回false
*************************************************************
类型
值
typeof运算结果
undefined
undefined
“undefined”
null
null
"object"
string 在单双引号中的字符 特殊字符 “string”
boolean
ture false
"boolean"
number 整型 浮点型 特殊值 "number"
**************************************************************
(2).引用类型
object 包含相关属性和方法的集合
建立:new 关键字
数组通过对象模拟
二.运算符
(1).运算符和操作数的组合就称为表达式
(2).运算符的种类
1.算术运算符
+ — * / var++ ++var var-- --var
A. +
a.用于数值运算
b.用于字符串连接
任何的数据类型和字符串相加都是等于字符串的
B. %
a.运算法则?
b.一般不用于小数 因为结果不确定
C.var++ ++var --var var--
运算符在前就是先运算再赋值 运算符在后是先赋值再运算
2.关系运算符(比较运算符)
< > <= >= == === != !==
A.结果都是布尔值
B.转换
a.都是字符 先转换为ASCII码 然后比较
b.一个是字符串 一个是数值时 尝试把字符转换成数值类型 然后比较 不能转换为数值类型 字符串返回NaN
C.alert(undefined == null )返回true
D.字符串字比较第一位
E.数值与布尔值比较 布尔值转化为0或1
F.==
a.字符串比较ASCII码
b.函数比较位置是否相等
c.有隐式类型转换
d.==只比较值 ===还要比较类型
3.赋值运算符
= += *= /= %=
A.+=
a.a += b 与a = a + b 相同
b.用于数值相加再赋值
c.用于字符串的连接再赋值
4.逻辑运算符
and &&
or ||
not !
A.逻辑运算符可以对任何类型的值进行运算,但是在运算时要转换为对应的布尔值。
null & undefined => false
bollean => 本身
number => 除了0以外 其他都为true
string => 除了空字符串外 其他为true
对象 => true
B.可以给变量赋值
var a = b || c
如果一个是对象,一个是布尔值 返回对象
如果两个都是对象,返回第二个对象
如果某个是null 返回null
如果某个是nan 返回nan
如果某个是undefined 发生错误
5.一元运算符
type + - delete new
A.+
表示正数 有隐式类型转换 -同理
B.delete
删除对象的方法或属性
C.new
用来创建一个对象
6.特殊运算符
, ( ) = ? !
A.,
一次声明多个边量
B.()
a.运算优先级
b.运行一段函数
C.= ? :
根据表达式的计算结果 有条件的为变量赋值
格式 var 变量 = boolean expression?真值:假值
如果boolean expression的值为真 取?后的值 为假 取:后的值
7.位运算
三.数据类型的转换
1.数据类型的强制转换
A.转换为数值类型
a.Number(参数)把任何类型转换为数值型
(1).布尔型的true为1false为0
(2).null转化为0
(3).undefined转化为NaN
(4).object转化 先调用对象的valueof()如果valueof()返回的是NaN 然后调用tostring()
(5).如果是字符串
(a).如果字符串中只有数字 转换为十进制 (忽略前导0和后导0)
eg:var a ="0123.40" alert( Number(a)) 返回的是123.4
(b)如果是有效且规范的浮点型,转换为浮点值(忽略前导0和后导0)(“1.234.5”就是不规范的)
(c).空字符串 返回0
(d).其他的值转化为NaN
b.parseInt(a,b)将字符串转化为整数
(a).如果一个字符串只包含数字 以十进制转化为整型
(a).会自动忽略字符串前面的空格 直到找到第一个非空的数值型的字符串遇到第一个非数值的字符串束.
eg: var a ="1.2.3";alert( parseInt(a));返回1
(c).如果字符串的第一个字符不是空格 数字 正负号 返回NaN
(d).参数b可以选择解析进制 输出的都是十进制数
eg:var a ="012"; alert( parseInt(a,8));返回10
var a ="0x12";alert( parseInt(a,16));返回18
c.parseFloat()
(a).跟parseInt大致相同 但是字符串中的点只有第一个有效 其他的无效 无效点后面的数无效
eg:var a ="1.2.3";alert( parseFloat(a));返回的是1.2
(b).字符串是有效的整数 返回整数
eg:1.0 返回1
B.转换为字符串
a.String()可以将任何类型转化为字符串(大写)
(a) null undefined 转化为 "null"和"undefined"
(b).布尔类型返回"true""false"
b.toString()
(a).将对象以字符串的方式表示
(b).调用格式:对象.toString()
(c).array.toString() 返回由逗号分隔的字符串
eg:var arr = [1,2,3,4]; alert(arr.toString());返回1,2,3,4
(d).boolean.toString()返回true or false
(e)可以带指定输出模式的参数
eg:var b = 10;alert(b.toString(2));返回1010
(f).null和undefined没有toString()方法
C.转换为布尔类型
Boolean()可以将任何类型的值转化为布尔型
“”、0、NaN、undefined、false、null转化为false
2.数值类型的隐式转换
A.函数类
a.isNaN()
该函数会对参数进行进行隐式Number()转换 如果转换不成功返回true
b.alert()
输出的
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
隐式的转化为字符串
B.运算符类
a.算术运算符
(a).- * % / 操作数不是数值 将会隐式调用Number()函数 转换不成功返回NaN
(b).+
1.如果操作数都是数值 进行相加 任何据类型和字符串相加都会隐式调用toString()方法 然后返回他们拼接的结果
2.如果操作数都是布尔值,那么进行Number()转换 false为0 true为1 进行相加(不都是时 布尔值会转化为字符串 )
b.关系运算符
关系运算符的操作数不是数值类型 会发生隐式转换 具体规则见上文关系运算符部分
a.都是字符 先转换为ASCII码 然后比较
b.一个是字符串 一个是数值时 尝试把字符转换成数值类型 然后比较 不能转换为数值类型 字符串返回NaN
c.等性运算符== !=
(a).会对操作数隐式转换后再比较
(b).如果比较数中有布尔值 会隐式的用Number()进行转换
(c).一个是字符一个是数值 对字符串隐式调用Number()
d.逻辑运算符
(a).放在表达式中用于判断
(b).给变量赋值
**************************************************************************8
. 可以给变量赋值
var a = b || c
如果一个是对象,一个是布尔值 返回对象
如果两个都是对象,返回第二个对象
如果某个是null 返回null
如果某个是nan 返回nan
如果某个是undefined 发生错误
**********************************************************************
C.语句类
(a).if(表达式) {} else{} 表达式会隐式调用Boolean()函数 按规则转换为相应的布尔值
(b).三元表达式var 变量 = boolean expression?真值:假值 同上
(c).while() {}同上
四.
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
控制
通过规定的语句 让代码 有条件的 按照一定方式执行
A.顺序结构
最基本的流程结构 按
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
写结构执行
B.选择结构(分支、条件结构)
根据给定条件 有选择的执行相应语句
if
else if
else
a.单路分支if(){}
(a).条件可以是表达式也可以是任何数据类型
(b).大括号会把它里面的代码当做整体运行 只有一条代码 大括号可以省略
b.双路分支 if() {} else{}
c.多路分支if(条件一) {} else if(条件2){}……else{上述条件都不成立的时候运行的代码}
d.嵌套分支 if(){
if(){
if(){
}
else if(){
}
}
else if(){
if(){}
}
e.switch语句
swith(变量、任何数据类型){
case 值1:
表达式;
break;
case 值2:
表达式2;
break;
……
default:
表达式;
}
*****************************************************************
1.当判断某种范围时 用if语句 判断单个值时 用switch 语句
2.if嵌套 条件满足的情况不可以重复 否则会发生不可预期的错误
var a = prompt("请输入分数"," ");
if(a < 60){
if(a < 40) {
alert("极品");
}
else if(a < 50) {
alert("蠢货")
;
}
else if(a>=50 && a < 60) {
alert("再加把劲儿");
}
}
在这段代码中输入30 弹出的是极品 如果将条件a<50拿到最前 输入30 弹出的是蠢货 在这个嵌套的条件选择中 计算机也是顺序进行的 第一项满足就不再继续下去了
*******************************************************************
C.循环结构
给定条件满足的情况下 反复执行同一段代码
a for 循环
for(变量-初始值;变量结束值 ){循环代码}
对于标记过的这段代码 标记部分的位置不 同 页面的表现也不同 具体情况见E:\网页\练习 for循环的用法
合理的定义变量的方法应该是 先声明后使用 循环中用到的变量在循环结构中声明
document.write("
") ;
for(var i=0;i<=100;i++)
{
var bg;
if(i%2==0) {
bg ="blue";
}else{
bg="yellow";
}
document.write("") ;
for(var j = 0;j <= 5; j++)
{
var m = i;
document.write("" + m +" | ");
}
document.write("
") ;
}
document.write("
");
b while 循环
while(条件表达式 满足循环 否则退出循环){}
c do{}while()
至少执行一次do内的代码 再检查是否符合条件 是while函数的变体
*******************************************************************************
for 一般用于循环指定次数 while根据条件的真假来循环
*******************************************************************************
d.for in
D.跳转语句 with语句
1.跳转语句
在循环控制语句中 当满足一定条件时 退出循环 或退出当前循环
a.break
跳出并终止循环
b.continue
跳出并且终止当前的循环 如果下个值仍满足 则继续循环
返回的结果是01234567910
**************************************************************************************
break
用在switch 语句中 当满足某个条件后退出switch语句
用在循环语句中 跳出并终止循环 如果后面有代码 继续执行
continue
只用于循环
效率不是很高
两者对于嵌套的循环而言 只能退出当前的循环
*************************************************************************************
2.标签语句
用来退出多层循环 只能用于break和continue
格式:标签名:语句
eg:
加了“退出”标签后 就可以退到标签位置了
3.with语句
with(){}
设置代码在特定对象中的作用域
效率低下 不建议使用?