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 相关文章推荐
Javascript-Mozilla和IE中的一个函数直接量的问题
Jan 09 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
Aug 30 Javascript
jquery提取元素里的纯文本不包含span等里的内容
Sep 30 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
Sep 03 Javascript
javascript强制点击广告的方法
Feb 06 Javascript
简介JavaScript中search()方法的使用
Jun 06 Javascript
JavaScript中Window对象的属性及事件
Dec 25 Javascript
AngularJS实现一次监听多个值发生的变化
Aug 31 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
Dec 01 Javascript
详解js的事件代理(委托)
Dec 22 Javascript
Vue 2.0学习笔记之Vue中的computed属性
Oct 16 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
Sep 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中的UNICODE 编码与解码
2013/06/29 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
2014/11/25 PHP
PHP共享内存用法实例分析
2016/02/12 PHP
PHP微信支付开发实例
2016/06/22 PHP
PHP中的use关键字及文件的加载详解
2016/11/28 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
Javascript自定义函数判断网站访问类型是PC还是移动终端
2014/01/10 Javascript
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
实例讲解js验证表单项是否为空的方法
2016/01/09 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
JavaScript的继承实现小结
2017/05/07 Javascript
jQuery中$原理实例分析
2018/08/13 jQuery
layui点击导航栏刷新tab页的示例代码
2018/08/14 Javascript
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
详解关于Vuex的action传入多个参数的问题
2019/02/22 Javascript
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
详解Python中的type()方法的使用
2015/05/21 Python
用Python抢过年的火车票附源码
2015/12/07 Python
python实现简单tftp(基于udp协议)
2018/07/30 Python
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
pandas重新生成索引的方法
2018/11/06 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
Python 中的pygame安装与配置教程详解
2020/02/10 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
eBay荷兰购物网站:eBay.nl
2020/06/26 全球购物
党的作风建设心得体会
2014/10/22 职场文书
2014年宣传部工作总结
2014/11/12 职场文书
2014年预算员工作总结
2014/12/05 职场文书
学生评语集锦
2015/01/04 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
七年级思品教学反思
2016/02/20 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
CSS3实现三角形不断放大效果
2021/04/13 HTML / CSS
Spring中bean集合注入的方法详解
2022/07/07 Java/Android