关于李老师的项目,第一个目标,实现网页中一个计算器的功能。
对于我而言,也是更加深入了解一门脚本语言的过程。我打算先行看网上的教程,再看书来相互印证。
学习目标:函数的特性和标准对象
学习工具:廖雪峰的js教程
学习笔记:
函数
语法和变量的作用域都和C非常相似
需要首先声明所有变量,不然会出现奇怪的事情
全局变量和函数都相当于window这个对象的一个属性,想要调用的话可以直接使用window.xxxx来调用,地位和本身是一样的
由此,可以直接使用单独的一个全局变量来实现表达其他所有变量
var example={};
example.name="123";
example.ver="123123";
方法
var example={
name:"123",
date:function(){
return this.name;
}
对象里的函数叫方法,跟python的机制非常相像
每个对象内部的函数,在我的理解,是分层的,this只是指向这一层的对象主体。非常不好操作,
具体的坑等到实际操作也许能遇到
标准对象
Date
直接用教程上的代码来理解
var now = new Date();
now; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)
now.getFullYear(); // 2015, 年份
now.getMonth(); // 5, 月份,注意月份范围是0~11,5表示六月
now.getDate(); // 24, 表示24号
now.getDay(); // 3, 表示星期三
now.getHours(); // 19, 24小时制
now.getMinutes(); // 49, 分钟
now.getSeconds(); // 22, 秒
now.getMilliseconds(); // 875, 毫秒数
now.getTime(); // 1435146562875, 以number形式表示的时间戳
这是一种表示形式
Regexp
正则表达式,在python爬虫时就已掌握
JSON
1.将所有键值对序列化
2.可以通过多种手段来控制输出
3.还可以正反序列化同时进行
var xiaoming = {
name: 'xiaoming',
age: 14,
gender: true,
height: 1.65,
grade: null,
'middle-school': '\"W3C\" Middle School',
skills: ['JavaScript', 'Java', 'Python', 'Lisp'],
toJSON: function () {
return { // 只输出name和age,并且改变了key:
'Name': this.name,
'Age': this.age
};
}
};
function convert(key,value) {
if (typeof value === "string")
return value.toUpperCase();
return value;
}
console.log(JSON.stringify(xiaoming,convert));
JSON.stringify(xiaoming);
console.log(JSON.stringify(xiaoming));
实验用的代码