经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » JavaScript » 查看文章
构造函数及实例化原理+包装类
来源:cnblogs  作者:麻花的野望  时间:2021/4/6 10:10:19  对本文有异议

这里没有进行构造函数,这里的this指向的是window 相当于window.color

 

 

this如果又实例,指向实例化对象,如果没有实例指向window ,函数成为构造函数需要 new 一下

 

 

 

 

 探究其中过程: this的原理

只要执行了函数,函数的ao就自动保存this={} 赋值为空对象,当进行new的时候函数内部就已经跑完了

 

 

当赋值给car1的时候,go就会将this的属性给car1

 

 函数最后会有一个隐式的return this;this就赋值给了car1,car1在go的东西就是this里面的东西

 

 

this的写法相当于:自己写了一个空对象,将形参去对应实参,让后让对象返回,之后 car对象的赋值对象就是 函数返回的对象

 

 

如果return 返回的引用子就返回引用值,如果是原始值就返回原始值,this就不会赋值给要赋值的变量,而是返回写的东西

 

 javascript仅仅是进行一个模拟的面向对象,违背了一些类的原则

 

 

 

包装类

原始值是没有自己的方法和属性,但是原始值不一定是永远都是原始值,

如下面new Number:可以进行引用值设置属性,在运算的时候又变成原始值进行运算,不进行运算的时候,又可以变成引用类型添加属性和方法

 

 

 

 

 

 

 

 

 

 

 

 

 

undefined和null是不可以设置任何的属性和方法的

 

 

 

 

 原始值进行设置属性的过程:

a.len =3进行设置属性的过程(这就是包装类的过程) 

会进行number的转换,在number里面设置属性len=3,但是原始值是无法保存属性的,会进行一个删除操作

 

 

 

关于stirng的length的解释:

如字符串‘abc’是没有length属性的,只是在打印的时候进行了一个 new String(str).length)的转换

 

 

数组的截断方法:通过设置数组的length就可以进行截断

 

 如果多了,之后的就是empty

 

原始值string进行设置属性的详解:

 

 

 

某个大公司的面试题:

 

 

经典闭包面试题:

 

 

打印题目:

答案第一个和第三个会打印[1,2,3,4,5]

 

基础题:

 

 

作业:写一个函数,接收任意一个字符串,算出这个字符串的总字节数

ASCII码   表1:0-127    表二:128-255      全部是一个字节

UNICODE码: 涵盖ASCII码,0-255位的全是ASCII码的,255位之后的就是2个字节d的

 

例:

  1. var str ='a'
  2.  
  3. var pos =str.charCodeAt(0) //这个能够找到对应位置所在unicode的第几位
  4. console.log(pos)

原文链接:http://www.cnblogs.com/mahuablog/p/14599400.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号