JS基本介绍
1. 面向对象的语言
随着计算机技术的日趋成熟,在web开发领域也出现了很多新的框架和技术,但这些新的技术和框架背后的内涵始终没有变,依然是:HTML、CSS、JavaScript。其中HTML服务于内容,CSS服务于表现,而JavaScript则服务于行为。换句话说,JavaScript是让一切东西协同运作的粘合剂。
大致上,JavaScript 这个术语通常涵盖以下3个部分
- ECMAScript --语言的核心部分(即变量,函数,循环等):这个部分独立于浏览器之外,并可以在其他环境中使用。
- 文档对象模型(DOM):它实际上提供了一种与HTML、XML文档交互的方式
- 浏览器对象模型(BOM):这实际上是一个与浏览器环境有关的对象的集合
JavaScript是一个面向对象程序设计(OOP)的语言,最常用到的概念有:对象、方法、属性;类;封装;聚合;重用与继承;
以表格说明它们之间的关系:
| 特征描述 | 相应概念 | 概念术语 |
|---|---|---|
| Bob 是一个男人(后者是一个对象) | 对象 | “事物”(包括人和物)在程序设计中的表现形式 |
| Bob 出生于 1990 年 2 月 3 日,男性,黑头发 | 属性 | 一般都是形容词 |
| Bob 能吃饭、睡觉、打游戏、泡妞以及做自己的白日梦 | 方法 | 一般都是动词 |
| Bob 是 Programmer 类的一个实例 | 传统OOP中的类 | 类实际上就是对象的设计蓝图或者制作配方 |
| Bob 是一个由 Programmer 对象扩展而来的新对象 | 基于原型OOP中的原型对象 | js的一切都是基于对象的,其依靠的是一套原型系统 |
| Bob 对象中包含了数据(例如年龄)和基于这些数据的方法例如记录年龄() | 封装 | 用于阐述对象中所包含的内容 |
| 我们并不需要知道其记录年龄的方法是如何实现的。对象通常都可以拥有一些私有数据,例如对闰年二月的天数,我们就不知道,而且也不会想知道 | 信息隐蔽 | |
| Bob 只是整个 web 开发团队对象的一部分,此外开发团队对象还包含了一个 Designer 对象 Jill,以及一个 ProjectManager 对象 Jack | 聚合、组合 | 将几个现有的对象合并成一个新对象的过程 |
| Designer、ProjectManager、 Programmer 都是分别扩展自 Person 对象的新对象 | 继承 | 实现对代码的复用 |
| 我们可以随时调用 Bob、Jill、和 Jack 这三个对象各自的 talk 方法,他们都可以正常工作,尽管这些方法会产生不同的结果(如 Bob 谈的更多的是代码的性能,Jill 更倾向于谈代码的优雅性,Jack 强调的是最后期限)。总之,每个对象都可以重新自定义它们的继承方法 talk | 多态、方法覆写 | 不同对象通过相同的方法调用来实现各自行为的能力 |
2. JS的基本数据类型

2. 函数

图片中具体注释说明:
预定义函数 parseInt():
该函数还有个可选的第二参数:基数(radix),它负责设定函数所期望的数字类型—十进制。十六进制,二进制等
parseInt(‘FF’ , 16);
25
如果没有指定第二参数,会默认为十进制,有两种情况除外:
1.如果首参数字符串是以 0x 开头,第二参数就会被默认指定为16
2.如果首参数以0开头,第二参数就会被默认指定为8
URI的编码与反编码:
编码函数
encodeURI() : 返回一个可用的URL,
encodeURIComponent() : 认为我们传递的仅仅是URL的一部分
例如:
var url = ‘http://www.packtpub.com/src ipt.php?q=this and that’;
encodeURI(url);
“http://www.packtpub.com/src ipt.php?q=this and that”
encodeURIComponent(url)
“http%3A%2F%2Fwww.packtpub.com%2Fsrc%20ipt.php%3Fq%3Dthis%20and%20that”
反编码函数:
decodeURI()
decodeURICpmponent()
即时函数:
匿名函数的定义放进一对括号中,外面在紧跟一对括号,第二对括号起到的是“立即调用“的作用,同时他也是我们向匿名函数传递参数的地方,另外也可以将第一对括号闭合于第二对括号之后,这两种做法都有效
(function(name){
console.log("hello " + name)
})(‘dude’)
》hello dude
能重写自己的函数:
var a = (function (){
function someSetip(){
var setup = 'done';
}
function actualWork(){
console.log('Worky-worky');
}
someSetip();
return actualWork;
})()
后续会持续更新
本文深入解析JavaScript作为面向对象编程语言的核心概念,包括对象、方法、属性、类、封装、聚合、重用与继承,以及即时函数和自我重写函数的独特特性。同时,介绍了JavaScript的基本数据类型和预定义函数的使用,如parseInt()和URI编码函数。

被折叠的 条评论
为什么被折叠?



