JavaScript学习之路 -- js基本介绍

本文深入解析JavaScript作为面向对象编程语言的核心概念,包括对象、方法、属性、类、封装、聚合、重用与继承,以及即时函数和自我重写函数的独特特性。同时,介绍了JavaScript的基本数据类型和预定义函数的使用,如parseInt()和URI编码函数。

JS基本介绍

1. 面向对象的语言

    随着计算机技术的日趋成熟,在web开发领域也出现了很多新的框架和技术,但这些新的技术和框架背后的内涵始终没有变,依然是:HTML、CSS、JavaScript。其中HTML服务于内容,CSS服务于表现,而JavaScript则服务于行为。换句话说,JavaScript是让一切东西协同运作的粘合剂。
    大致上,JavaScript 这个术语通常涵盖以下3个部分

  1. ECMAScript --语言的核心部分(即变量,函数,循环等):这个部分独立于浏览器之外,并可以在其他环境中使用。
  2. 文档对象模型(DOM):它实际上提供了一种与HTML、XML文档交互的方式
  3. 浏览器对象模型(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;
})()

后续会持续更新

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值