玩转JavaScript OOP[0]——基础类型

前言

long long ago,大家普遍地认为JavaScript就是做一些网页特效的、处理一些事件的。
我身边有一些老顽固的.NET程序员仍然停留在这种认知上,他们觉得没有后端开发肯定是构建不了系统的。

编程语言和技术的结合使用,就像一个男人娶了好几个妞一样。
在旧的时代,.NET是大房,JavaScript是偏房。
大房是“后宫之主”,不仅要操持家业,还能给你生娃,娃将来也要继承家业的。
偏房就没那么幸运了,在“后宫”没什么地位,虽然衣食无忧,但不能管理家族事务,生的娃也只能算是庶出,没有继承家业的权利。

But,时代变迁了,家族事业越做越大,家族也在各地开枝散叶,男人也变成了众人口中的“老爷“。
事业这么稳定,老爷太无聊了,好色又是人的本能,老爷要找点“性趣”来满足自己了。
大房为家族劳心劳力,岁月在她的脸上留下了很多痕迹,老爷已经逐渐失去了对她的兴趣;
偏房悠闲度日,家族事务又不用她操心,日常事务就是打扮自己、维持自己的青春光彩。
老爷这双好色的眸子又盯上了偏房,于是偏房终于上位了,上位当然是地位的提升,不仅能够插手家族的事业,还能让自己的娃也管理一部分生意。
(PS:这个例子有不恰当的地方,JavaScript出现的比.NET早)

随着互联网的普及和迅速发展,JavaScript能做的事儿越来越多。
它能做什么呢?

  • 它能做网页富客户端应用,结合HTML5和CSS3它可以实现复杂的前端交互
  • 它能做服务端应用,比如当前非常流行的Node.js框架
  • 它可以做移动端应用,比如你可以通过PhoneGap或Titianium制作IOS和Android平台的app

JavaScript还能做其他很多事儿,JavaScript近乎无处不在。
现在我们可以这么说,无论是PC、智能手机,还是智能电视,凡是提供了JavaScript运行环境的设备,都可以用JavaScript来做一些事情。

类型概述

标题揭示了这又是一个系列文章,是关于JavaScript面向对象编程的。
在正式开始JavaScript面向对象编程前,我们需要先对JavaScript的类型有一个全面的了解。

很多.NET程序员能够理解C#中的数据类型,但不能完全理解JavaScript的数据类型。
JavaScript是一门弱类型的语言,它的类型虽然不如C#中那么繁多,但它胜在灵活。

例如:在C#中,1就是int类型的,true就是bool类型的,1和true是不能直接比较的。
在JavaScript中,数字不仅仅是数字,有时还能作为条件判断的逻辑表达式。

var count = 1;
if(count){
    console.log("Hello!");
}

在C#中,编译器是不允许你这么做的,下面的代码根本就编译不通过。

var count = 1;
if (count)
{
    Console.WriteLine("Hello!");
}

正式因为这样的灵活性,使得一些.NET的程序员在编写JavaScript代码时产生了很多困惑。
今天我们就带着这个困惑开始这个系列之旅。

时间: 2024-11-08 18:52:27

玩转JavaScript OOP[0]——基础类型的相关文章

玩转JavaScript OOP[0]——基础类型

前言 long long ago,大家普遍地认为JavaScript就是做一些网页特效的.处理一些事件的.我身边有一些老顽固的.NET程序员仍然停留在这种认知上,他们觉得没有后端开发肯定是构建不了系统的. 编程语言和技术的结合使用,就像一个男人娶了好几个妞一样.在旧的时代,.NET是大房,JavaScript是偏房.大房是"后宫之主",不仅要操持家业,还能给你生娃,娃将来也要继承家业的.偏房就没那么幸运了,在"后宫"没什么地位,虽然衣食无忧,但不能管理家族事务,生的

玩转JavaScript OOP[1]——复杂类型

概述 在JavaScript中,我们可以使用函数.数组.对象,以及日期.正则等一些内置类型的实例,它们都是复杂类型的表现.从本质上讲,这些复杂类型都是Object类型.本篇主要的内容有3点:函数.数组和对象. 函数 函数是JavaScript的一大重点,它非常的灵活.不像C#这种强类型语言,可以显式地声明"class",JavaScript没有"class"的概念,但借助函数我们可以实现"class"的概念.类和对象是面向对象编程的基础,所以掌握

玩转JavaScript OOP[4]——实现继承的12种套路

概述 在之前的文章中,我们借助构造函数实现了"类",然后结合原型对象实现了"继承",并了解了JavaScript中原型链的概念. 理解这些内容,有助于我们更深入地进行JavaScript面向对象编程. 由于JavaScript是一门基于对象和原型的弱语言,灵活度非常高,这使得JavaScript有各种套路去实现继承.本篇文章将逐一介绍实现继承的12种套路,它们可以适用于不同的场景,总一种套路适合你. (亲:文章有点长,请点击右侧的「显示文章目录」按钮,以便导航和阅读

玩转JavaScript OOP[2]——类的实现

概述 当我们在谈论面向对象编程时,我们在谈论什么?我们首先谈论的是一些概念:对象.类.封装.继承.多态.对象和类是面向对象的基础,封装.继承和多态是面向对象编程的三大特性. JavaScript提供了对象却缺乏类,它不能像C#一样能显式地定义一个类.但是JavaScript的函数功能非常灵活,其中之一就是构造函数,结合构造函数和原型对象可以实现"类". 对象和类的概念 对象 "对象"是面向对象编程中非常重要的一个概念,一个对象是一个"东西"(某个

玩转JavaScript OOP[3]——彻底理解继承和原型链

概述 首先,我们简单描述一下继承的概念:当一个类和另一个类构成"is a kind of"关系时,这两个类就构成了继承关系.继承关系的双方分别是子类和基类,子类可以重用基类中的属性和方法. 上一篇我们介绍了通过构造函数和原型可以实现JavaScript中的"类",由于构造函数和原型是对象,所以JavaScript的"类"本质上也是对象.这一篇我们将介绍JavaScript中的一个重要概念原型链,以及如何经原型链实现JavaScript中的继承.

JavaScript之基础-15 JavaScript OOP(概述、对象模板)

一.JavaScript OOP 概述 OOP 概述 - 面向对象的语言 - 封装 - 把相关的信息(无论数据或方法)存储在对象中 - 继承 - 从其它对象获得属性和方法 - 多态 - 能以多种不同的形式运行函数或方法 - ECMAScript支持这些要求,因此可被是看做面向对象的 封装 - 回顾直接量创建对象 - 使用new调用Object构造函数创建对象语法 继承 - 对象方法 - toString() - toLocaleString() - valueOf() 二.JavaScript

你真的懂JavaScript基础类型吗

夯实Javascript基础. 基本类型有六种: null,undefined,boolean,number,string,symbol. 基本类型的值是保存在栈内存中的简单数据段 基础类型特性 基础类型最重要的特性 基础类型是不变的 因此:基础类型没有splice,sort之类的直接改变变量的方法 强行改变基础类型会报错 // str 不能调用 Array的 sort 和 splice Array.prototype.sort.call('strxyz'); // Uncaught TypeE

JavaScript基础——类型、值和变量

对象和数组属于可变类型:字符串是不可变的:可以访问字符串任意位置的文本,但JavaScript并未提供修改一直字符串的文本内容的方法. JavaScript变量是无类型的(untyped),变量可以被赋予任何类型的值,同样一个变量也可以重新赋予不同类型的值.使用var关键字来声明(declare)变量.JavaScript采用词法作用域(lexical scoping).不在任何函数内声明的变量称为全局变量(global variable),它在JavaScript程序中的任何地方都是可见的.

自学HIBERNATE5.0文档第一季之基础类型篇

2.3. Basic Types Basic value types usually map a single database column, to a single, non-aggregated Java type. Hibernate provides a number of built-in basic types, which follow the natural mappings recommended by the JDBC specifications. Internally