Javascript笔记一 js以及json基础使用说明


Posted in Javascript onMay 22, 2010

JavaScript中的代码只体现为一种形式,就是function。

注意:以上单词都是小写的,不要和Number, String, Object, Function等JavaScript内置函数混淆,JavaScript语言是区分大小写。

typeof(null)返回object,但null并非object。

JavaScript的代码就只有function一种形式,function就是函数的类型。函数的写法有“定义式”和“变量式”。

定义式的函数语句会优先执行。函数定义执行完之后,才会按顺序执行其他语句代码,JavaScript是一段段地执行的。

我们来看看下面的代码:

var myfunc = function () 
{ 
alert("hello"); 
}; 
myfunc(); //第一次调用myfunc,输出hello 
myfunc = function () 
{ 
alert("yeah"); 
}; 
myfunc(); //第二次调用myfunc,将输出yeah

这个程序运行的结果告诉我们:在第一次调用函数之后,函数变量又被赋予了新的函数代码体,使得第二次调用该函数时,出现了不同的输出。

好了,我们又来把上面的代码改成定义式的函数形式:

function myfunc () 
{ 
alert("hello"); 
}; 
myfunc(); //这里调用myfunc,输出yeah而不是hello 
function myfunc () 
{ 
alert("yeah"); 
}; 
myfunc(); //这里调用myfunc,当然输出yeah

按理说,两个签名完全相同的函数,在其他编程语言中应该是非法的。但在JavaScript中,这没错。JavaScript执行引擎并非一行一行地分析和执行程序,而是一段一段地分析执行的。在第一次调用myfunc之前,第一个函数语句定义的代码逻辑,已被第二个函数定义语句覆盖了。所以,两次都调用都是执行最后一个函数逻辑了。

创建对象

<script type="text/javascript"> 
function test() { 
var bo = {}; //建立一个对象 
bo.姓名 = "张三"; //对象的一个属性 
bo.年龄 = 18; 
bo.showInfo = function() { alert(bo.姓名 + " " + bo.年龄); }; //对象的一个方法 
alert(bo["姓名"]); //可以将对象当数组以属性名作为下标来访问属性 
bo["showInfo"](); //可以将对象当数组以方法名作为下标来调用方法 
//遍历对象里所有的属性和方法,并输出其类型 
for (var s in bo) { 
alert(s + " 是 " + typeof (bo[s])); 
} 
} 
</script>

JSON为创建对象提供了非常简单的方法,JavaScript Object Notation(缩写JSON),翻译为中文就是“JavaScript对象表示法”。

创建一个没有任何属性的对象:
var o = {};

创建一个对象并设置属性及初始值:
var person = {name: "Angel", age: 18, married: false};

创建一个对象并设置属性和方法:
var speaker = {text: "Hello World", say: function(){alert(this.text)}};

创建一个更复杂的对象,嵌套其他对象和对象数组等:

var company = 
{ 
name: "Microsoft", 
product: "softwares", 
chairman: {name: "Bill Gates", age: 53, Married: true}, 
employees: [{name: "Angel", age: 26, Married: false}, {name: "Hanson", age: 32, Marred: true}], 
readme: function() {document.write(this.name + " product " + this.product);} 
};

JSON的形式就是用大括“{}”号包括起来的项目列表,每一个项目间并用逗号“,”分隔,而项目就是用冒号“:”分隔的属性名和属性值。这是典型的字典表示形式,也再次表明了 JavaScript里的对象就是字典结构。不管多么复杂的对象,都可以被一句JSON代码来创建并赋值。

其实,JSON就是JavaScript对象最好的序列化形式,它比XML更简洁也更省空间。对象可以作为一个JSON形式的字符串,在网络间自由传递和交换信息。而当需要将这个JSON字符串变成一个JavaScript对象时,只需要使用eval函数这个强大的数码转换引擎,就立即能得到一个JavaScript内存对象。正是由于JSON的这种简单朴素的天生丽质,才使得她在AJAX舞台上成为璀璨夺目的明星。

Javascript 相关文章推荐
javascript在当前窗口关闭前检测窗口是否关闭
Sep 29 Javascript
JQuery设置时间段下拉选择实例
Dec 30 Javascript
Angular用来控制元素的展示与否的原生指令介绍
Jan 07 Javascript
javascript判断数组内是否重复的方法
Apr 21 Javascript
基于jquery css3实现点击动画弹出表单源码特效
Aug 31 Javascript
javascript如何写热点图
Dec 08 Javascript
跨域资源共享 CORS 详解
Apr 26 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
Jan 20 Javascript
AngularJS实现表格的增删改查(仅限前端)
Jul 04 Javascript
jquery 时间戳转日期过程详解
Oct 12 jQuery
react MPA 多页配置详解
Oct 18 Javascript
JavaScript实现点击自制菜单效果
Feb 02 Javascript
javascript Array数组对象的扩展函数代码
May 22 #Javascript
javascript 正则替换 replace(regExp, function)用法
May 22 #Javascript
JQuery 文本框使用小结
May 22 #Javascript
基于Asp.net与Javascript控制的日期控件
May 22 #Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
May 22 #Javascript
用jQuery打造TabPanel效果代码
May 22 #Javascript
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
May 21 #Javascript
You might like
PHP中使用CURL模拟登录并获取数据实例
2014/07/01 PHP
PHP入门教程之会话控制技巧(cookie与session)
2016/09/11 PHP
PHP精确计算功能示例
2016/11/29 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
Jquery阻止事件冒泡 event.stopPropagation
2011/12/11 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
angularjs实现首页轮播图效果
2017/04/14 Javascript
jQuery遍历节点方法汇总(推荐)
2017/05/13 jQuery
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
js登录滑动验证的实现(不滑动无法登陆)
2018/01/03 Javascript
关于vue.js中实现方法内某些代码延时执行
2019/11/14 Javascript
vue实现选中效果
2020/10/07 Javascript
Python3实现从指定路径查找文件的方法
2015/05/22 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
2016/07/04 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
解决python中 f.write写入中文出错的问题
2018/10/31 Python
使用APScheduler3.0.1 实现定时任务的方法
2019/07/22 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
PHP面试题附答案
2015/11/28 面试题
学生会离职感言
2014/02/11 职场文书
本科毕业生自荐信
2014/05/26 职场文书
改进作风怎么办发言材料
2014/08/17 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
2014年评职称工作总结
2014/11/20 职场文书
和谐拯救危机观后感
2015/06/15 职场文书
Python面向对象之成员相关知识总结
2021/06/24 Python