当前位置:首页>正文

在javascript中使用字面量创建原型对向,和构造函数的区别 TypeScript 和 JavaScript 的区别

2023-07-06 04:09:31 互联网 未知

在javascript中使用字面量创建原型对向,和构造函数的区别

创建对象的两种方法:
使用字面量方法创建对象:var student = {name: "张三"} 
使用内置构造函数创建对象:var student = new Object()  student.name = "张三"。


  应该尽量使用字面量发创建对象,其显著优点在于它只需要输入更少的字符,除此之外,还有几点原因:
1. 选择字面量法创建对象强调该对象仅是一个可变的hash映射,而不是从对象中提取的属性或方法。
2. 对使用Object构造函数相对,使用字面量在于它并没有作用域解析。因为可能以同样的名字创建一个局部函数,解释器需要从调用Object(0的位置开始一直向上查询作用域链,知道发现全局Object构造函数。
3. 构造函数Object可以仅接受一个参数,并且还依赖传递的值,该OBject()可能会委派另一个内置函数来创建对象,并且返回了一个并非期望的不同对象。如将数字、字符串、布尔值当做参数传递给Object构造函数,其结果是获得了以不同构造函数所创建的对象,例如:var oschina = new Object(1)ochina.constructor为Number;传递的值是动态的,直到运行时才确定其类型,这种行为会导致意想不到的结果。

TypeScript 和 JavaScript 的区别

TypeScript 和 JavaScript 是目前项目开发中较为流行的两种脚本语言,我们已经熟知 TypeScript 是 JavaScript 的一个超集。JavaScript 和 TypeScript 的主要差异:
1、TypeScript 可以使用 JavaScript 中的所有代码和编码概念,TypeScript 是为了使 JavaScript 的开发变得更加容易而创建的。例如,TypeScript 使用类型和接口等概念来描述正在使用的数据,这使开发人员能够快速检测错误并调试应用程序
2、TypeScript 从核心语言方面和类概念的模塑方面对 JavaScript 对象模型进行扩展。
3、JavaScript 代码可以在无需任何修改的情况下与 TypeScript 一同工作,同时可以使用编译器将 TypeScript 代码转换为 JavaScript。
4、TypeScript 通过类型注解提供编译时的静态类型检查。

5、TypeScript 中的数据要求带有明确的类型,JavaScript不要求。
6、TypeScript 为函数提供了缺省参数值。
7、TypeScript 引入了 JavaScript 中没有的“类”概念。
8、TypeScript 中引入了模块的概念,可以把声明、数据、函数和类封装在模块中。

. C 中常用的构造函数都有哪几种类型?写出它们的定义格式?

如:class TestClasll
默认构造函数:不带参数或者有默认参数 TestClasll::TestClasll()
拷贝构造函数:参数为该类对象的引用TestClasll::TestClasll(TestClasll&)

c 构造函数的几种类型

选C。
Class CStudent
{
 public:
     CStudent()                            //A.缺省构造函数
     CStudent(int iYear){m_iyear = iYear}   //B.转换构造函数
     CStudent(const CStudent& tStudent)     //C.拷贝构造函数
     {
         m_strName = tStudent.m_strName
         m_iYear = tStudent.m_iYear
     }
     CStudent& operator=(CStudent tStudent)  //D.赋值运算符
     {
        m_strName = tStudent.m_strName
        m_iYear = tStudent.m_iYear
        return *this
    }
 public:
     CString m_strName    //名字
     int m_iYear          //年龄
}这里因为是声明Jack对象,所以应该默认执行C拷贝构造函数,

如果先声明过Jack了,比如CStudent Jack;
Jack = Tom;

这时候应该执行的是D赋值运算符。
所以应该选C。额最好写个代码试试看。。。我也没试。。根据我经验应该是执行的拷贝构造函数