第三天
C#中的类型都是强类型语言,而JS中都是弱类型语言
对于js来说,只要不是0就是true;
N=100;
If(n=10)这个相当于if(10),所以是true
Switch()是一个===全等于,用于判断数据类型是否相同;
1.Parseint可以把字符串转换成整数,如果字符串中有字符串,则只转换前面的是可以转换的部分,如果都不能,则返回NaN;
2.parseFloat转换成小数,跟parseint一样,都是能转则转,不能转换的就忽略;
3.可以将所有的字符串转换成数字,必须都能转换的才会转换;true为1,aaa为NaN,123a为NaN;
4.Boolean转化成布尔类型,只要不为空,不为零,不为undefined,就为true
5.以上是动态拼接;
6.在浏览器中进行调试脚本;F12;
7.Function没有返回值,参数也没有类型,函数名很容易于系统名冲突,所以要小心使用函数名;冲突后时,函数不会起作用;
8.Js中没有方法重载,遇到重名的方法,永远会以最后一个定义的为准;
9.Js中需要参数的时候,不传参数也是可以的;不需要的时候,传参数,也不报错;传递的参数会保存到,一个arguments数组中,所以,不管写不写参数,都可以获得用户的传递参数;例子如下:
10.Ctrl+k+d格式化代码;
var x=1;var y=0;var z=0;
function add(n){n=n+1;return n}
y=add(x);
function add(n){n=n+3;return n;} 始终以最后一个为准
z=add(x);
alert(y+‘ ’+z); //执行结果?4 4
匿名函数
后面一定要有分号“;”因为这是一个赋值函数;函数的定义不需要加分号“;”
调用的时候直接使用变量名就可以了,如:f();调用变量就相当于调用函数;匿名函数可以作为参数来传递;
匿名函数的定义与调用,定义后,直接调用:不传参数返回NaN
一元运算符会自动转换数据类型;
New Function 是系统的函数,可以直接调用,new是创建这个对象;
结果是:10;
看结果:
var x=1;var y=0;var z=0;
var add=function (n){n=n+1;return n}
y=add(x);
add=function(n){n=n+3;return n;} 匿名函数,这里的赋值函数,将上次的函数
z=add(x); 覆盖掉了,所以还是接着执行
alert(y+’,’+x);//执行结果? 2 ,4
创建对象的首字母要大写,函数小写;将函数当一个对象使用的时候,前面必须加一个new关键字;不加new就是一个普通的函数调用;
函数就是对象,对象就是函数;
在对象中,创建属性,可以直接“对象名。属性名”调用的时候也是一样的
String对象:
1.字符串,indexof查找字符出现的索引位置,找不到就是-1;
2.split(‘分隔符’,提取个数)Js中的数组可以不用遍历就能直接用alert()输出,中间用逗号“,”隔开的字符串;
3.substr(开始索引,结束索引)截取字符,包含结束索引;substring(开始索引,结束索引)不包含结束索引;
Array对象
声明一个数组:
用的时候直接用,
这里输出100, 并遍历输出内容,没有内容的部分空着,只有“,”号;如果是for遍历输出,空值输出undefined;
数组中可以是任意类型;不用设置数组大小;
推荐使用下面的写法:
For in中的k是数组的下标,与c#中的foreach不同;
Dictionary
数组作为字典用,键对数组
由于键值对集合不占用数组的length长度,所以键值对不能用for遍历,只能用for in遍历:
上面的是键值对,下面的是普通的数组;
键不能以数字开头的
快速声明一个键值对集合:(json)(推荐使用的方法)
扩展方法:
通过原型(prototype)的方式为对象增加成员,都是存储在一块内存中,所以不管new多少的对象,结果都是一样的;
对于方法一般就通过在原型中增加新方法,这样所有的对象就都访问的是同一个方法了,但是对于那些(存储数据的)引用类型,比如数组,就不能通过prototype原型增加属性了,因为每个对象都访问的是自己的数据;
DOM文档对象模型:
动态注册事件
Dosh是一个要执行的方法
Onclick单击事件后面可以有很多的js代码,中间用分号“;”隔开;
尽量使用动态注册事件,可以实现,代码与事件的分离;
Window。Onload表示页面加载完毕后;能不写window就不写;
按钮的动态事件:
删除操作,根据用户的操作执行不同的代码:
显示用户输入的内容:(了解内容)
链接到新的页面:
有些浏览器会不识别可以使用:
‘’中的是要连接的地址;
每隔一段时间,(setInterval)执行一次代码:(当前时间,每隔1秒)
在文本框中显示,累加数字:
Val++;
停止的操作方式:
Settimeout也是定时执行,但值执行一次;
Cleartimeout停止;