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 相关文章推荐
js动态创建、删除表格示例代码
Aug 07 Javascript
js 通用订单代码
Dec 23 Javascript
同一个网页中实现多个JavaScript特效的方法
Feb 02 Javascript
js代码实现点击按钮出现60秒倒计时
Jan 28 Javascript
jquery实现全选功能效果的实现代码
May 05 Javascript
javascript日期比较方法实例分析
Jun 17 Javascript
js变量提升深入理解
Sep 16 Javascript
React创建组件的三种方式及其区别
Jan 12 Javascript
JavaScript选择排序算法原理与实现方法示例
Aug 06 Javascript
JavaScript 继承 封装 多态实现及原理详解
Jul 29 Javascript
layui实现二维码弹窗、并下载到本地的方法
Sep 25 Javascript
Vue自定义全局弹窗组件操作
Aug 11 Javascript
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
php db类库进行数据库操作
2009/03/19 PHP
php excel类 phpExcel使用方法介绍
2010/08/21 PHP
解析PHP生成静态html文件的三种方法
2013/06/18 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
2015/05/12 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
javascript知识点收藏
2007/02/22 Javascript
jQuery弹出层插件简化版代码下载
2008/10/16 Javascript
javascript delete 使用示例代码
2010/03/29 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
左侧是表头的JS表格控件(自写,网上没有的)
2013/06/04 Javascript
Javascript表单验证要注意的事项
2014/09/29 Javascript
jQuery实现长按按钮触发事件的方法
2015/02/02 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
Vue组件通信的四种方式汇总
2018/02/08 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
2018/03/13 Javascript
python实现红包裂变算法
2016/02/16 Python
Django卸载之后重新安装的方法
2017/03/15 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
Python 实现数据结构-循环队列的操作方法
2019/07/17 Python
使用Python实现文字转语音并生成wav文件的例子
2019/08/08 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
python中upper是做什么用的
2020/07/20 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
Python 列表反转显示的四种方法
2020/11/16 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
自我评价优秀范文分享
2013/11/30 职场文书
双方协议书
2014/04/22 职场文书
公关活动策划方案
2014/05/25 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
2016年元旦主持词
2015/07/06 职场文书
2015年教学副校长工作总结
2015/07/22 职场文书
导游词之香港-太平山顶
2019/10/18 职场文书