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代码
Mar 07 Javascript
javascript 遍历验证所有文本框的值
Aug 27 Javascript
jQuery.Autocomplete实现自动完成功能(详解)
Jul 13 Javascript
jQuery中获取checkbox选中项等操作及注意事项
Nov 24 Javascript
Bootstrap实现水平排列的表单
Jul 04 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
Sep 19 Javascript
AngularJS自定义插件实现网站用户引导功能示例
Nov 07 Javascript
selenium+java中用js来完成日期的修改
Oct 31 Javascript
Vue.js的模板语法详解
Feb 16 Javascript
在Vuex中Mutations修改状态操作
Jul 24 Javascript
我所理解的JavaScript中的this指向
Sep 04 Javascript
微信小程序获取当前时间及星期几的实例代码
Sep 20 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中使用Oracle数据库(3)
2006/10/09 PHP
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
php算法实例分享
2015/07/14 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
js获取当月最后一天实例代码
2013/11/19 Javascript
js的hasownproperty使用示例
2014/03/02 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
node.js入门实例helloworld详解
2015/12/23 Javascript
Js实现简单的小球运动特效
2016/02/18 Javascript
JS全局变量和局部变量最新解析
2016/06/24 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
Python重新引入被覆盖的自带function
2014/07/16 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
Python实现Linux中的du命令
2017/06/12 Python
python3 遍历删除特定后缀名文件的方法
2018/04/23 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
英文自荐信
2013/12/15 职场文书
原材料检验岗位职责
2014/03/15 职场文书
乡领导班子四风问题对照检查材料
2014/09/25 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书