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 相关文章推荐
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
Apr 01 Javascript
node.js Web应用框架Express入门指南
May 28 Javascript
JavaScript数据类型学习笔记
Jan 25 Javascript
理解javascript中Map代替循环
Feb 26 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
Oct 27 Javascript
JS正则子匹配实例分析
Dec 22 Javascript
学习使用jQuery表单验证插件和日历插件
Feb 13 Javascript
angularjs中使用ng-bind-html和ng-include的实例
Apr 28 Javascript
Node.js 如何利用异步提升任务处理速度
Jan 07 Javascript
vue 地图可视化 maptalks 篇实例代码详解
May 21 Javascript
JS回调函数简单易懂的入门实例分析
Sep 29 Javascript
基于vue项目设置resolves.alias: '@'路径并适配webstorm
Dec 02 Vue.js
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+DBM的同学录程序(3)
2006/10/09 PHP
在字符串指定位置插入一段字符串的php代码
2010/02/16 PHP
php INI配置文件的解析实现分析
2011/01/04 PHP
php命名空间学习详解
2014/02/27 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
2015/12/29 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
2015/06/10 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
JavaScript中值类型和引用类型的区别
2017/02/23 Javascript
认识jQuery的Promise的具体使用方法
2017/10/10 jQuery
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
详解AngularJS 过滤器的使用
2018/06/02 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
[05:31]DOTA2上海特级锦标赛主赛事第三日RECAP
2016/03/05 DOTA
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
[41:21]夜魇凡尔赛茶话会 第三期02:看图识人
2021/03/11 DOTA
Python isinstance判断对象类型
2008/09/06 Python
Python中的localtime()方法使用详解
2015/05/22 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
pytorch实现mnist数据集的图像可视化及保存
2020/01/14 Python
介绍一下Python中webbrowser的用法
2013/05/07 面试题
酒店管理自荐信
2013/10/23 职场文书
求职简历中的自我评价分享
2013/12/08 职场文书
服装厂厂长职责
2013/12/16 职场文书
《散步》教学反思
2014/03/02 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
2014年司法所工作总结
2014/11/22 职场文书
2014年实习期工作总结
2014/11/27 职场文书
毕业实习感受与体会
2015/05/26 职场文书
JavaCV实现照片马赛克效果
2022/01/22 Java/Android