您的位置:首页 > Web前端 > JavaScript

JavaScript1

2016-01-12 23:24 507 查看
小知识点:Http的无状态性,不会记录或保存值

关于调试:右键-设置起始页.在程序正式发布的时候,需要将debug属性设置为false,因为开启调试会很消耗性能.

如果JavaScript中的代码有语法错误,浏览器会弹出错误信息,查看报错信息就能帮助排查错误.

可以使用Ie作为调试器.

设置:Internet选项-高级-去掉禁用脚本调试和禁用脚本调试(其他)前的勾选.

断点的设置,监视变量等操作和c#一样.

js中null和Undefined

var n;
alert(n+100);


显示NaN

var n=null;
alert(n.toString());


直接报错

undefined表示一个未知状态

声明了但是没有初始化的该变量,变量的值是一个未知状态(undefined)

当方法没有明确的返回值时,返回值时一个underfined

null表示尚未存在的对象,null是一个有特殊意义的值,可以为变量赋值为null,此时变量的值为已知状态.不是underfined(用来初始化变量,清除变量内容,释放内容,和c#中是一样的)

undefined==null 结果true

Undefined===null 结果为false 严格判断中,类型,值由一个不一样则判断为false

有时候使用==可能带来更好的效果

总结:在使用变量时先判断是否为Null或者为Undefined4

if(typeof(x)!='undefined' &&x!=null)
{
注意这里Undefined 是单引号
}


JS中\也是转义字符,不能使用@,只能使用\\

注意在swich判断的时候,相当于===严格等于

JS中的全局变量

默认如果在script标签中定义变量,则属于全局作用范围(全局执行环境,无作用域),属于window对象

全局作用域范围的变量直到网页关闭或浏览器关闭时才释放资源

一个页面中的多个script标签中的变量可以相互访问,那不需要var的申明的全局变量有什么用??????????

JS也有垃圾回收机制,会定时对可释放资源的变量进行回收,该变量设置为null,则表示可以被回收了

如果某个函数内定义了变量则作用域范围属于该函数.

JS中的作用域问题:

js中没有如C#般的块状作用域域

例如

function func(){
var sum=0;
for(var i=0;i<=100;i++){
sum+=i;
}
alert(i);
}


输出结果101

JS中的格式转换

parseInt(arg):将指定的字符串转换为整数

parseFloat(arg):将指定的字符串转换为浮点型

Number(arg):将指定的值转换为记数字.转换的是整个值.如果该字符串不能完全转换为整形,则返回NaN.

IsNaN(arg):判断arg是否为一个非数字

String(arg):将指定的值转换为字符串

Boolean(arg):将指定的值转换为Boolean型

转换int

var n='100';
alert(parseInt(n));


Swtich(n)

case 上述情况:显示100

‘case 上述情况,下面改为(parseInt(n,16)):意义是100是16进制的转换为10进制

case 100nd:显示100

case 100nd100:显示100

case nd100:显示NaN(Not a Number)

(break省略)

转换浮点型float逻辑和上述相同

转换成数字型Number

var n='78.78';
alert(Number(n));


swich(n)

case 上述情况:显示78.78

case 78.78.78:显示NaN

case 78.78kd:显示NaN

(break省略)

总结:转化parseInt和float转换条件相对宽松,而Number很规范

Boolean的转换

alert(boolean(undefined));


显示false

alert(boolean(null));


显示false

alert(Boolean(数字));


当数字为0时,显示false,其他任何非0条件下都为true;

alert(Boolean(字符串));


当字符串为空,false.其他都为true.

IsNaN(n)


该函数判断n是否是NaN

JS中的方法:

在方法中,如果一个方法没有明确的返回值,则默认返回Undefined.

在页面中如果有两个方法,只会取最后一个方法.(直接赋的除外)

js中方法的参数不需要访问修饰符,没有返回值类型,因为全部都是var,如果方法有任意个参数,则形参就不写,使用arguments进行传递参数

JS方法没有重载

如果需要返回,则直接写Return加返回值,注意自己加封号

如果不需要返回,不要加入return

在JS中编写大括号都是直接跟在后面而不要另起一行,很重要

如果遇到JS
9e2b
中的参数后面的方法属性点不出来,可以考虑先建一个该类型的变量,然后替换这个变量


匿名函数,主要是为了解决重名问题,即使他里面是有返回值的

匿名函数的第一种写法:

var ff=function(){
alert('酒逢千杯千杯少');
};


将一个匿名函数赋值给了一个变量,ff此时就成了一个方法,切记不是Undefined.即使方法内有return.

在使用匿名函数的共同特性是大括号回来的时候加上封号

匿名函数的第二种写法:

document.getelementbyId('btn').onclick=function(){
alert(3);
};


给ID为btn的标签注册一个单击事件

该种写法较为常见

匿名函数的第三种写法:

var m1=new Function("p1","p2","p3","retrun p1+p2+p3");
alert(m1(1,2,3));


注意,这里的Function首字母是大写的,因为是new出来的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: