`
ttitfly
  • 浏览: 620336 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

javascript特性一(备忘)

阅读更多
1.js不支持重载,因为js里的函数都是一个对象,js里有个隐含对象Function,所有的js函数都是一个Function类型的对象。比如:
function add(number)
{
   alert("hello");
}

等价于
var add = new Function("number","alert('hello');");


由于js里每一个函数里都隐含一个对象叫arguments,该arguments是一个数组,通过arguments可以获得到实际传递参数的个数(arguments.length)及实际传递参数的值(arguments[0],arguments[1]...)
所以可以通过arguments对象来模拟重载,如下:
function add()
{
	if(arguments.length == 1)
	{
	      alert(arguments[0] + 10);
	}
	if(arguments.length == 2)
	{
               alert(arguments[0] + arguments[1] + 10);
	}
			
	}
}
add(5);
add(5,1);


2.每个函数的名字都有一个属性叫length,“属性名.length ”获得该函数能接受参数的个数。
如:
function a1()
{
}
function a2(number)
{
}
		
alert(a1.length);//0
alert(a2.length);//1


3.JavaScript中有五种原始基本数据类型:Undefined,Null,Boolean,Number,String

Undefined数据类型的值只有一个:undefined

Null数据类型的值只有一个:null

Boolean数据类型的值只有两个:true,false

Number数据类型的值有很多:数字即可

String a = "hello";和String a = new String("hello");是不一样的。有点类似java里的对象。String a = "hello"只是在栈内存里生成,String a = new String("hello");则堆内存里生成"hello"值,栈内容里变量a指向堆内存。

4.typeof一元操作符,它的返回值有五个:undefined,boolean,number,string,object

5.alert(函数名)  是把该函数的函数名及函数体都给打印出来。方便调试 javascript.

如:
function test()
{
    var a = "aa";
}
alert(test());//undefined
alert(test);//function test(){ var a = "aa";}
[color=red]对于函数来说,如果其不返回值,那么其返回值就为undefined[/color]


6.
var s ;//变量s1未定义
alert(typeof s);//undefined
alert(typeof s1);//undefined
alert(s);//undefined
alert(s1);//报错


7.null与undefined的关系:undefined实际上从null派生而来

alert(undefined == null);//true


8.对于函数定义中的变量来说,加var表示局部变量,不加var表示全局变量

9.javascript里 ,Object类是所有类的父类,类的强制转换有三种:Boolean(value),Number(value),String(value)

Object 对象有个方法叫:propertyIsEnumerable("属性名")
所以所有子类都有该方法,如果 "对象.propertyIsEnumerable("属性名")"为true,则表示该属性可以通过for(var temp  in  对象的实例名)来进行遍历出来。
如:

var o = new Object();
alert(o.propertyIsEnumerable("prototype"));//false,说明prototype是不可以通过for(var temp in )进行遍历出来的


Object对象里的所有属性propertyIsEnumerable都为 false
var o = new Object();
for(var temp  in  o)
{
	alert(temp);	//一个都不会打印出来	
}


可以把o改为内置window对象,就可以打印出来很多了。


10.定义对象后增加属性或删除属性
var o = new Object();
o.name="test";
alert(o.name);//test
delete o.name;
alert(o.name);//undefined 
分享到:
评论

相关推荐

    javascript语法备忘.doc

    此外,JavaScript 还提供了数组、对象、函数表达式、箭头函数、闭包等高级特性,以及异步编程的回调函数、Promise 和 async/await 等机制,这些在实际开发中非常关键。理解并熟练运用这些基础知识,将有助于编写出...

    基于thinkphp的一个通讯备忘录

    【描述】"基于thinkphp的一个通讯备忘录" 暗示项目的核心在于利用ThinkPHP的特性来实现数据存储、用户交互以及系统管理等功能。ThinkPHP框架以其简洁的代码结构、丰富的文档支持和强大的扩展性而受到开发者青睐。在...

    备忘录_备忘录_微信小程序_wherevermpo_

    在IT行业中,微信小程序是一种轻量级的应用程序,它无需下载安装即可在微信平台上使用,为...开发者在构建这样一个小程序时,需要全面考虑用户的需求,结合微信小程序的特性和工具,打造出既实用又便捷的备忘录应用。

    JavaScript_关于流行编程语言、框架和开发工具的极好的备忘单,它们包含了你应该知道的所有内容.zip

    “awesome-cheatsheets”是一个知名的GitHub项目,收集了各种编程语言和技术的备忘单资源,包括JavaScript。这些备忘单通常包含语言的关键语法、最佳实践和常用库的速查信息,是学习和复习的好帮手。在压缩包中的...

    移动端备忘录

    移动端备忘录是一种轻量级的应用程序,通常用于个人或团队记录待办事项、想法、笔记等信息。在移动设备上,备忘录应用程序提供了一种便捷的方式,让用户随时随地记录重要信息,无论是在工作中还是在生活中。这篇内容...

    微信小程序之简易备忘录

    页面设计上,可能包括一个输入框供用户输入备忘内容,一个时间选择器设定提醒时间,以及一个保存或添加按钮来存储备忘。 在功能实现上,文字记录功能是基础,用户可以输入文字创建备忘。计时功能可能是通过设置倒...

    jquery+bootstrap 实现简单备忘录

    这个"jQuery+bootstrap 实现简单备忘录"项目融合了前端技术(HTML5、CSS3、JavaScript/jQuery、Bootstrap)、后端技术(服务器端语言、数据库)以及现代Web特性(Web Storage、Notifications API、Web Workers),...

    微信小程序项目实例——备忘录

    在本项目实例中,我们探讨的是一个基于微信小程序的备忘录应用。微信小程序是一种轻量级的应用开发平台,特别适合构建无需下载安装即可使用的移动应用。该项目旨在提供记录文字、计时以及设置提醒的基本功能,以满足...

    JavaScript 设计模式(高清扫描版本)- 张容铭

    此外,张容铭的这本书很可能还会深入讨论JavaScript语言特性如何与设计模式相结合,例如原型继承、闭包和动态类型等在实现设计模式时的独特作用。书中可能会有丰富的实例和代码示例,帮助读者理解和实践这些模式。 ...

    javascript学习网址备忘

    JavaScript是一种广泛应用于Web开发的脚本语言,它主要在客户端运行,为用户提供动态交互体验。JavaScript的学习涵盖了语法、数据类型、变量、运算符、控制结构、函数、对象、数组、DOM操作、AJAX异步通信等多个方面...

    flutter备忘录

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于数据传输。Flutter提供了dart:convert库,其中的json.encode和json.decode方法可以帮助我们将对象转换为JSON字符串,反之亦然。在备忘录...

    微信小程序备忘录.zip

    总的来说,开发“微信小程序备忘录”涉及到前端开发、用户交互设计、数据管理、网络通信等多个方面,需要对微信小程序的特性和API有深入的理解。通过学习和实践,开发者可以创建出功能完善、用户体验良好的备忘录...

    beiwanglu.rar_beiwangluapp_备忘_备忘录

    "beiwangluapp"可能是应用的名称,而"备忘"和"备忘录"强调了它的核心特性,即帮助用户记录和管理日常事务。 在【压缩包子文件的文件名称列表】中,"www.pudn.com.txt"可能是一个文本文件,可能是开发者在上传资源时...

    jQuery带备忘录功能的日期选择器.zip

    "JS特效-其它代码"标签表明这个插件可能包含了其他非标准的JavaScript特效,可能是动画效果、交互设计或者其他增强用户体验的特性。在实际应用中,这些特效可能让日期选择器更具吸引力和实用性。 总的来说,"jQuery...

    超强的日历控件,修改下可做备忘录,

    "超强的日历控件,修改下可做备忘录"这个标题揭示了该资源可能是一个强大且可定制的日历插件,经过简单的调整,就能转换为一个功能齐全的备忘录应用。 描述中提到“找了好久,终于找到了”,这表明这个日历控件可能...

    asp.net在线电话备忘录

    【ASP.Net在线电话备忘录】是一个基于ASP.Net技术构建的应用程序,主要用于管理电话通讯记录,提供便捷的在线存储和查询功能。这个系统可能包含了用户登录、电话记录添加、编辑、删除以及搜索等功能,旨在提高工作...

    vue备忘录单页demo

    Vue.js 是一款流行的前端JavaScript框架,它以组件化开发、轻量级以及高效的特性深受开发者喜爱。"vue备忘录单页demo"是基于Vue.js创建的一个简单的应用示例,旨在帮助开发者熟悉Vue的开发流程和核心概念。下面将...

    微信小程序开发-备忘录案例源码.zip

    微信小程序是一种轻量级的应用开发平台,主要针对移动端,由腾讯公司推出,旨在提供...在实际项目中,还可以考虑引入状态管理库(如Redux或MobX)优化数据处理,以及使用wx.cloud数据库进行云端数据存储等高级特性。

    play:JavaScript 备忘单和游乐场

    "play:JavaScript 备忘单和游乐场" 提供了一个学习和实践JavaScript的平台,特别适合初学者熟悉语言基础和实践操作。 备忘单通常包含一系列关键概念、语法和函数,帮助开发者快速查阅和回顾编程语言的关键点。对于...

Global site tag (gtag.js) - Google Analytics