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获取提交的字符串的字节数
Feb 09 Javascript
jquery 触发a链接点击事件解决方案
May 02 Javascript
Javascript Objects详解
Sep 04 Javascript
JS获取表格内指定单元格html内容的方法
Mar 31 Javascript
javascript排序函数实现数字排序
Jun 26 Javascript
基于jQuery实现的扇形定时器附源码下载
Oct 20 Javascript
jquery uploadify隐藏上传进度的实现方法
Feb 06 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
May 02 Javascript
vue 实现剪裁图片并上传服务器功能
Mar 01 Javascript
Vue项目中使用jquery的简单方法
May 16 jQuery
Vue商品控件与购物车联动效果的实例代码
Jul 21 Javascript
JS对日期操作封装代码实例
Nov 08 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 函数学习简单小结
2010/07/08 PHP
php中二分法查找算法实例分析
2016/09/22 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
用正则xmlHttp实现的偷(转)
2007/01/22 Javascript
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
JSON+HTML实现国家省市联动选择效果
2014/05/18 Javascript
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
2015/11/30 Javascript
详解JavaScript逻辑Not运算符
2015/12/04 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
template.js前端模板引擎使用详解
2017/10/10 Javascript
NodeJS父进程与子进程资源共享原理与实现方法
2018/03/16 NodeJs
JS实现把一个页面层数据传递到另一个页面的两种方式
2018/08/13 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
python如何获取服务器硬件信息
2017/05/11 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
python爬虫之urllib3的使用示例
2018/07/09 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
pygame游戏之旅 调用按钮实现游戏开始功能
2018/11/21 Python
Python3.5集合及其常见运算实例详解
2019/05/01 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
python输入多行字符串的方法总结
2019/07/02 Python
Matplotlib scatter绘制散点图的方法实现
2020/01/02 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
亚洲领先的旅游体验市场:Voyagin
2019/11/23 全球购物
应届毕业生个人自我评价
2013/09/20 职场文书
实践单位评语
2014/04/26 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
银行柜员工作心得体会
2016/01/23 职场文书
高中生物教学反思
2016/02/20 职场文书
Go遍历struct,map,slice的实现
2021/06/13 Golang
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS