JS使用教程

JS的使用方法:

1.从外部文件中导入

2.内部链接,<script></script>

3.嵌入标签

JS基本语法

1.执行顺序:按照HTML文档中出现的顺序依次执行

2.大小写敏感性:严格区分大小写

3.忽略空格符和换行符

4.语句分割符:

1)使用;结束语句

2)可以把多个语句写在一行

3)最后一个语句的分号可以省略,最好不要省略。

4)可以使用{},组成一个block块

5)可以用\对代码析分

6)注释,/**/和//

7)JavaScript保留字体:if switch等等

8)document.write()向文档书写内容;console.log向控制台书写内容;

9)错误调试:通过控制台调试语法错误;通过alert调试逻辑错误

10)<noscript></noscript>不支持js代码时的操作。

 

变量

声明变量

1.关键字var声明变量

var a; var a,b,c;

2.可以声明变量并赋值

var a=12;

3.可以同时声明多个变量

 var a=b=c=1;

4.只声明变量并未对其赋值,显示undefined

5.如果变量重名产生覆盖

6.变量以字母或者下划线开始,包括字母下划线或者数字。变量最好含义明确,驼峰标记法,firstName,FirstName,下划线法first_name

7.内存中的存储与释放

收集方式,收集内容,回收算法

 

数值类型

1.十进制:12,1e12

2.十六进制数:0x123

3.八进制数:0123

4.特殊值:NaN不存在的数值类型:通过isNaN()判断,不能通过NaN==NaN判断,Infinity无穷大

字符串类型

1.单引号或者双引号;

2.转意符号

布尔型

1.true或者false

 

特殊数据类型

1.undefined:声明变量未赋值或者赋值不存在

2.null:空值

3.NaN唯一一个不能和自身进行比较:NaN===NaN返回false

==:比较数值

===:比较是否为同一变量

 

数据类型转换

1.隐式转换

转换为布尔类型

false:undefined, null, 0,NaN,字符串长度为0

true:其他对象

转换为数值类型

null->0

true->1,false->0

数值转数字,否则转为NaN

undefined,其他对象->NaN

转换为字符串类型

数值类型转换为对应的,其他对象无toString转换为undefined

2.显式转换

布尔类型:Boolean()

字符串:String()

数值类型:Number(),必须全部都能转换为数值

parseInt(),parseFloat:注意字符串转换到第一个非法数字,true转换为NaN,开头允许空格

 

 

===严格等于数值和类型必须都相等,!==不严格等于

逗号运算符:返回最后一个以表达式的值

void运算符:返回undefined

typeof运算符:值的类型

&&短路:如果第一个表达式为false,后边的表达式短路

||短路:如果第一个表达式为true,后面的表达式短路

instanceof:判断是否为某一对象

 

判断语句

if  else if  else

条件判断语句

switch case

循环语句

for(var i=0;i<10;++i){

}

while(){}

do{}while

中断语句

continue跳转到下次循环

break终止循环

 

document.write('');

 

函数编程

arguments[n]:代表函数中传入的第n个参数

构造函数

匿名函数

 

参数作用域

全局变量与局部变量

var定义,按照var定义的位置判断

不带var定义,为全局变量

 

函数无参数,解决方法:

第一种

function f(x,y){

x=x||0;

y=y||0;

return x+y;

}

第二种

function f(x,y){

if(x===undefined)

x=0;

y=y==undefined?0,y;

}

return x+y;

}

第三种

function f(x,y){

x=arguments[0]?arguments[0],0;

y=arguments[1]?arguments[1],0;

return x+y;

}

第四种

function f(){

var sum=0;

var paramNumber=arguments.length;

for(var i=0;i<paramNumber;++i){

sum+=arguments[i];

}

return x+y;

}

 

JS中常用的全局函数:

parseInt:转换为int

parseFloat:转换为float

isFinite():检测是否为无穷值

isNaN:检测是否为非数值类型

编码url

encodeURI(url):编码

decodeURI(url):解码 

encodeComponent(url):编码

decodeComponent(url):解码

编码字符串:

escape()编码

unescape()解码

eval(str)执行字符串的js命令

Number(Date())返回毫秒数

String()

 

匿名函数:function (a){return a+1}

回调函数:function f(f1,2){ return f1()+2;}

call()

apply() 参数为数组

自调函数:(function(a,b){return a+b})(1,2)

 

对象:类似java中的HashMap

创建对象

 第一种: var test={

 'x':12,

"y":13,

z:"15"

}

第二种:

new Date();

第三种

function Test3(x,y){

this.n1=x;

this.n2=y; 

}

new Test3(1,2) 

第四种

Object.create({x:1})

创建空对象

Object.create(Object.prototype)

 

对象属性:

var person={

username:'king',

age:12,

addr:'北京',

sex:'男',

sayHi:function(){

return "hi";

}

}

查询:person.username或者person['addr']

删除:delete person.username

修改:person.username='queen'

增加:person.school='high'

遍历:for(var i in person){}

调用方法:person.sayHi();

 

对象的原型:null->object原型->建立的对象

prototype属性向对象的原型赋值。

检测是否有某个属性:属性值 in 对象

检测对象自己的属性不包括继承的属性方法,hasOwnProperty() 

属性的特征:writable修改,Enumerable枚举,configurable删除,value属性的值

 

propertyIsEnumerable()属性是自己的,并且是可枚举的。

遍历属性:

1.for(object in Object)

2.Object.getOwnPropertyNames():返回所有自由属性名称。

3.Object.getkeys():返回所有自由属性

 

Object.defineProperty():定义对象的属性,包括可枚举,可修改,可删除,赋值等。

 

get:未定义某属性值时,得到属性值

set:设置某属性值

 

Object.defineProperties():同时设置多个属性值

Object.defineProperties(person,{

        username:{value:'king',writable:true},

        age:{value:23,writable:true}

})

Object.getOwnPropertyDescriptor(person,'username')

 

对象的原型:prototype

 

对象的属性:class

classof

toString

对象的扩展标记:extensible flag 

 

Date对象

 

正则表达式

try{}catch(e){}finally{}

 

数组

创建数组:

1.数组字面量的形式arr=[]

2.通过Array()创建数组,new Array(); new Array(5);new Array(1,2,3); 

数组操作:

1.push,pop,shift,unshift,delete

遍历数组:

for 遍历下标;for in遍历数组; forEach遍历数组;

数组方法:

 

事件:

事件模型:

1.内联模型:事件处理函数作为属性执行js代码或者函数。

2.脚本模型 :事件处理程序

3.DOM2事件

冒泡事件:连续触发多个事件

捕获事件:addEventListener ,removeEventListener

 

onload事件

表单验证插件

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值