十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
2. 构造函数(public, private属性和方法) 1: function Person(iName, iAge){ 2: //private field 3: var name = iName; 4: var age = iAge; 5: 6: //private method 7: var privatefn = function(){ 8: alert(name); 9: } 10: 11: return { 12: //public field 13: Name: "hello " + name, 14: Age: "hello " + age, 15: 16: ShowStudent: function(){ 17: privatefn(); 18: alert(this.Name); 19: } 20: }; 21: }调用:(new Person("xiao","10")).ShowStudent(); 3. 原型方法(prototype) 1: function c(){} 2: c.prototype={ 3: name: "init value a", 4: setName: function(iName){ 5: this.name=iName; 6: }, 7: getName: function(){ 8: alert('hello from c, name: ' + this.name); 9: } 10: }; 11: (new c).getName(); // 输出hello from c, name: init value a 4. 构造函数+原型方法(prototype) 1: function Person(iName) { 2: this.name = iName; 3: }; 4: 5: Person.prototype={ 6: getName: function(){ 7: returnthis.name; 8: } 9: }; 10: 11: //调用 12: var b = new Person("jack"); 13: alert(b.getName()); 5. 构造函数+原型方法(prototype)- 节省内存的写法 1: function Person(iName, iAge){ 2: this.name=iName; 3: this.age=iAge; 4: 5: //对象实例都共享同一份方法不造成内存浪费 6: if(typeof Person._initialized == "undefined"){ 7: Person.prototype.ShowStudent=function(){ 8: alert(this.name); 9: }; 10: Person._initialized=true; 11: } 12: } 13: //调用 14: (new Person("jack","20")).ShowStudent();以上的实现方法如果不用_initialized的方法,也可以指向一个外部函数,道理一样。 6. JavaScript类的单例(Singleton)模式写法 1: var MyNamespace = {}; 2: MyNamespace.Singleton = (function() { 3: var uniqueInstance; // Private attribute that holds the single instance. 4: function constructor() { // All of the normal singleton code goes here. 5: // Private members. 6: var privateAttribute1 = false; 7: var privateAttribute2 = [1, 2, 3]; 8: function privateMethod1() { 9: //... 10: } 11: function privateMethod2(args) { 12: //... 13: } 14: return { // Public members. 15: publicAttribute1: true, 16: publicAttribute2: 10, 17: publicMethod1: function() { 18: // ... 19: }, 20: publicMethod2: function(args) { 21: // ... 22: } 23: } 24: } 25: return { 26: getInstance: function() { 27: if(!uniqueInstance) { // Instantiate only if the instance doesn't exist. 28: uniqueInstance = constructor(); 29: } 30: return uniqueInstance; 31: } 32: } 33: })(); 34: 35: //调用: 36: MyNamespace.Singleton.getInstance().publicMethod1(); JavaScript好书推荐(只推3本,须精读)
在资源等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、网站建设 网站设计制作定制设计,公司网站建设,企业网站建设,品牌网站建设,全网整合营销推广,成都外贸网站建设公司,资源网站建设费用合理。
JavaScript中的数据很简洁的。简单数据只有 undefined, null, boolean, number和string这五种,而复杂数据只有一种,即object。这就好比中国古典的朴素唯物思想,把世界最基本的元素归为金木水火土,其他复杂的物质都是由这五种基本元素组成。
JavaScript中的代码只体现为一种形式,就是function。
注意:以上单词都是小写的,不要和Number, String, Object, Function等JavaScript内置函数混淆了。要知道,JavaScript语言是区分大小写的呀!
任何一个JavaScript的标识、常量、变量和参数都只是unfined, null, bool, number, string, object 和 function类型中的一种,也就typeof返回值表明的类型。除此之外没有其他类型了。
先说说简单数据类型吧。
undefined: 代表一切未知的事物,啥都没有,无法想象,代码也就更无法去处理了。
注意:typeof(undefined) 返回也是 undefined。
可以将undefined赋值给任何变量或属性,但并不意味了清除了该变量,反而会因此多了一个属性。
null: 有那么一个概念,但没有东西。无中似有,有中还无。虽难以想象,但已经可以用代码来处理了。
注意:typeof(null)返回object,但null并非object,具有null值的变量也并非object。
boolean: 是就是,非就非,没有疑义。对就对,错就错,绝对明确。既能被代码处理,也可以控制代码的流程。
number: 线性的事物,大小和次序分明,多而不乱。便于代码进行批量处理,也控制代码的迭代和循环等。
注意:typeof(NaN)和typeof(Infinity)都返回number 。
NaN参与任何数值计算的结构都是NaN,而且 NaN != NaN 。
Infinity / Infinity = NaN 。
string: 面向人类的理性事物,而不是机器信号。人机信息沟通,代码据此理解人的意图等等,都靠它了。
简单类型都不是对象,JavaScript没有将对象化的能力赋予这些简单类型。直接被赋予简单类型常量值的标识符、变量和参数都不是一个对象。
所谓“对象化”,就是可以将数据和代码组织成复杂结构的能力。JavaScript中只有object类型和function类型提供了对象化的能力。
没有类
object就是对象的类型。在JavaScript中不管多么复杂的数据和代码,都可以组织成object形式的对象。
但JavaScript却没有 “类”的概念!
对于许多面向对象的程序员来说,这恐怕是JavaScript中最难以理解的地方。是啊,几乎任何讲面向对象的书中,第一个要讲的就是“类”的概念,这可是面向对象的支柱。这突然没有了“类”,我们就象一下子没了精神支柱,感到六神无主。看来,要放下对象和类,达到“对象本无根,类型亦无形”的境界确实是件不容易的事情啊。
这是匿名函数,直接执行函数体
(function() { alert('Hello World'); })();
我写一些代码,也许能帮你理解
1:
function fn() { alert("Hello"); }
fn();
2:
var fn = function() { alert("Hello"); }
fn();
3:
( function() { alert("Hello"); })();
// 前面一个括号相当于fn,后面一个括号相当于"fn()"的"()"
1,我们在使用JavaScript代码有两种写法:一种是在HTML页面中直接嵌入js代码,另一种是通过链接外部的JavaScript文件。
2,在HTML页面中直接嵌入js代码
3,如果在HTML页面中直接嵌入JavaScript代码,我们需要使用 script 标签,script 和 /script 会告诉 JavaScript 在何处开始和结束。
4,script
alert("My First JavaScript");
/script
5,在HTML页面的任何位置(head部分 body部分 body的后面 较好)都可以插入script标签。
6,第二种用法:通过链接外部的JavaScript文件。
7,首先我们建立一个JavaScript文件,扩展名是.js
然后将要编写的js代码写到Js文件中,并保存文件。使用script标签将JavaScript文件链接到HTML文件中
// 在 checkf3 的末尾调用 goo();
// 或者把
onsubmit="return checkf3();"
// 改成
onsubmit="return checkf3() goo();"
// 然后在 goo 和 checkf3 的末尾各加一行
return true;
a
b
c
d
e
f
g
谢谢谢谢谢谢码密。的入输要需所面。界理管台后器。由路陆登是。码密理管。廖仲庭。器由。路。