Javascript 知识点简介
如何在HTML中引入JS?
所有重定向的HTML标签内都可以嵌入javascript代码。
浮点数不要用 == 来进行判断
var num=0; for(var i=0;i<10;i++){ num += 0.1; } alert(num); // num:0.9999999999999
boolean 类型
不同于.NET只判断true或false,JS里 0, 0.00, "", null 返回的都是 false函数
普通声明:
function test(){};function test(arg1,arg2..argN){}
匿名函数:
var test = function(){ }
回调函数:
(仅靠传递变量搞不定的,可以传递函数)
function test(a,b,funA){ return funA(a,b); // 方法执行由用户传入的函数决定 最典型的示例是 数组的sort()方法可以接收指定的排序规则}
函数调用方式:
function test(){ alert("Hello");}test();
var fun1 == test;fun1(); // 函数也能赋值给变量,因此函数也是数据类型的一种alert(fun1); // result:输出整个函数的声明(这里指的声明包括 函数名 和 代码段)
函数参数:
function numAdd(num1,num2){ return num1 + num2;}numAdd(3,5) // 常规调用numAdd(2,4,6,8,10) // 非常规调用呢?其实fun也可以改写成下面这样:function numAdd(){ var result = 0; for(var i=0;i
参数的默认值
function test(a,b) { if(typeof(a) == "undefined") a=1; if(typeof(b) == "undefined") b=2; } function test(a,b) { if(!a) a=1; if(!b) b=2; } function test(a,b) { // 最简洁的方式 a = a? a:1; b = b? b:2; }
我们在Javascript中声明的函数被加载到哪了?
window 对象。JS中,函数也是基于对象调用的,由于 window 对象可以省略,因此我们可以直接调用自己写过的函数!
global对象的 eval_r()方法 (△)
global 对象的 eval_r()方法相当于JS程序中的代码解析器 可以执行合法的字符串,示例:
var str = "var a="+ f +";a+=a"var f = 5;eval_r(str);alert(a); // 10
注:如果不执行 eval 方法是获取不到变量a的
自定义对象
由于没有Class的类的概念,而对象又是要new出来的 因此要通过函数才能创建出对象。
方式一:这个方法是最初设计的原型和构思
function person() { } var p = new person(); p.name = "XJ"; // propertyp.age = 30; p.play = function() { // method document.write("Playing......");}
方式二:
var person = new Object(); person.name = "XJ"; // propertyperson.age = 30; person.play = function(){ // method document.write("Playing......");}
方式三:
function person(){ var p = new Object(); p.name = "XJ"; // property p.age = 30; p.play = function() { // method document.write("Playing......"); } return p; }
获取对象: var p = person();
方式四:
function person(name,age,play) { this.name=name; this.age=age; this.play=play;//method } var p = new person("xj","30", function{ document.write("Playing......");}); alert(p.name);p.play();
遍历对象的所有元素(属性,方法)
for(var tmpName in p){ alert(p[tmpName]);}
注意:这里获得的都是元素名,而不是元素的值,for..in对于数组而言获取的是索引。这是有别于C#中foreach的。
with 结构的用法
with(document){ write("Hello");}
with 语句块可以让使用对象的属性和方法变的语法更为简单,适用于多次操作一个对象的成员时。
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。