javascript高级学习笔记整理


Posted in Javascript onAugust 14, 2011

一.js面向对象的一种实现

<script type="text/javascript"> 
function Person() { 
this.name = "张三"; 
this.age = 0; 
var nickName = "小三"; //类似私有变量,函数中的局部变量在函数执行完后自动销毁. 
this.SayHi = function () { 
alert("我的名字是" + this.name + " ,大家都叫我" + nickName + " ,我今年已经" + this.age + "岁了"); 
} 
} 
///////////////////////// 
function Student(myclass, myteacher) { 
this.myClass = myclass; 
this.myTeacher = myteacher; 
this.SayHi = function () { 
if (this.myClass != undefined) { 
alert("我是"+this.myClass+"的"+this.name); 
} 
else if (arguments.length == 2) { 
alert("我是" + this.myClass + "的" + this.name + ", 我的老师是" + this.myTeacher); 
} 
else { 
new Person().SayHi(); 
} 
} 
} 
Student.prototype = new Person(); //创建继承关系 
////////////// 
onload = function () { 
var p = new Person(); //类似实例化类Person,对象的创建(解析两次)并不是推荐用法 
p.age = 18; //给Person的age赋值, age相当于属性 
p.SayHi(); //调用Person里的公共方法,输出结果:我的名字是张三 ,大家都叫我小三 ,我今年已经18岁了! 
var stu = new Student('三年级二班', 'jameszou'); //有参构造函数 
stu.name = 'le'; //父类的属性 
stu.SayHi(); //Student重写了SayHi方法 
var stu1 = new Student(); 
stu1.myClass = '三年级三班'; 
stu1.myTeacher = 'ly'; 
stu1.SayHi(); //输出:我是三年级三班的张三" 
var stu2 = new Student(); 
stu2.age = 20; 
stu2.SayHi();//输出:?:我的名字是张三,大家都叫我小三,我今年0岁了 
} 
</script>

二.6种简单数据类型:
1)Undefined.一个变量被定义但是没有给他赋值.
2)Null.(引用类型)
3)Number.数值类型

var num = 1.0这个时候num是int类型,只有当小数点后面不为0的时候才是浮点型,

isNaN()可以判断传人的值是否为Number类型,

var num = parseInt('112412aaa11'); num=112412;
4)Boolean.
5)String
6)function
Function类型:
执行环境:就是当前函数(方法)所处在的父环境。比如在window下执行的函数他的执行环境就是window。
没有块级作用域:if等语句没有用块状作用域,if,for等用大括号括起来的代码并不能形成一个块状作用域。
var变量声明:用var声明变量时,会他把添加到最近的可用环境,即不用var定义的一个变量是全局变量.
声明语句会首先执行,以保证程序的运行.
垃圾回收:变量对象设为null的时候原对象将被自动回收.
属性:
this.函数所在的执行环境,函数在执行时所处的作用域.
prototype(原型).

三.复杂类型
Object:
Object类型本质是一个无序的键值对列表,类似于集合,json格式。
创建Object可以有多种方式:

1)var obj = new Object(); obj.name="lz"; obj.age=17;

2)var s = {}; s.name="ly"; s.age=18;

3)var s = {"name":"ln","age":"17"};
访问Object对象的属性的方法:

1)obj.name

2)obj["name"]
Array类型:
相当于List<T>,length属性是可读写的(可以利用这一点删除数组元素)
数组的栈方法:(后进先出)

push() 往里加 pop() 从栈头往外拿
数组的队列方法:(先进先出)

shift() 从队列尾部往外拿 unshift() 从队列尾部往里加
排序:

sort() 排正序,将数组中的数据按照一定的顺序排列,参数可以传递一个可传入比较方法(类似于接口) reverse() 翻转

连接数组: concat()

var colors=["a","b"];

var newcolor=colors.concat("yellow",["c","d"]);//colors有5个元素。

concate方法中若传入数组,会把该数组拆分,将其中元素加入目标数组中。若传入json格式数据,一个json数据就看成一个元素加入数组。
四.其他
typeof: return true or false,
instanceof 判断复杂类型的类型 return true or false,如果用它来判断值基本类型类型永远返回false,
eval()他会把eval()中的参数解析出来,插入到eval执行的位置,效果相当于在相应的位置直接写入JS代码

Javascript 相关文章推荐
In Javascript Class, how to call the prototype method.(three method)
Jan 09 Javascript
用Javascript 和 CSS 实现脚注(Footnote)效果
Sep 09 Javascript
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
Jan 08 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
Jun 09 Javascript
html页面显示年月日时分秒和星期几的两种方式
Aug 20 Javascript
Google (Local) Search API的简单使用介绍
Nov 28 Javascript
js获取select标签的值且兼容IE与firefox
Dec 30 Javascript
javascript 数组的正态分布排序的问题
Jul 31 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
Aug 31 Javascript
JS跨域请求外部服务器的资源
Feb 06 Javascript
vue 实现Web端的定位功能 获取经纬度
Aug 08 Javascript
jQuery实现简单评论功能
Aug 19 jQuery
jquery获得下拉框值的代码
Aug 13 #Javascript
Jquery中对数组的操作代码
Aug 12 #Javascript
基于jQuery的星级评分插件
Aug 12 #Javascript
基于jQuery的投票系统显示结果插件
Aug 12 #Javascript
JavaScript中的View-Model使用介绍
Aug 11 #Javascript
仿jQuery的siblings效果的js代码
Aug 09 #Javascript
html中table数据排序的js代码
Aug 09 #Javascript
You might like
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
php 图像函数大举例(非原创)
2009/06/20 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
ThinkPHP应用模式扩展详解
2014/07/16 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
2018/06/20 PHP
php7性能提升的原因详解
2019/10/13 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
javascript显示选择目录对话框的代码
2008/11/10 Javascript
javascript new fun的执行过程
2010/08/05 Javascript
js转义字符介绍
2013/11/05 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
2014/03/10 Javascript
Javascript基础教程之if条件语句
2015/01/18 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
2017/02/04 Javascript
node.js操作MongoDB的实例详解
2017/10/11 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
express如何解决ajax跨域访问session失效问题详解
2019/06/20 Javascript
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
基于python解线性矩阵方程(numpy中的matrix类)
2019/10/21 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
CSS3 网页下拉菜单代码解释 中文翻译
2010/02/27 HTML / CSS
会计专业毕业生推荐信
2013/11/05 职场文书
军训自我鉴定
2013/12/14 职场文书
团组织关系介绍信
2014/01/12 职场文书
社会学专业学生职业规划书
2014/02/07 职场文书
学校安全责任书范本
2014/07/23 职场文书
体育教师个人总结
2015/02/09 职场文书
2016年度员工工作表现评语
2015/12/02 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis