面向对象中一丢丢小知识点

1、使用 Function 创建函数与原来的方式创建函数:

Function 是使用字符串构建函数, 那么就可以在程序运行过程中构建函数

将数组形式的字符串, 转换成数组对象

var arr = ( new Function( ‘return ‘ + str + ‘;‘ ) )();

2、eval();不常用,易受恶意攻击。用()将其转换成表达式,{}不再是语句块,转换成代码块而是对象了

3、变量名提升:预解析(标记声明)、代码执行、调用

4、函数声明与函数表达式有区别:函数声明是单独写在一个结构中, 不存在任何语句, 逻辑判断等结构中。(在我看来还有一点就是没有等号)

5、作用域:域表示的就是 范围, 即 作用范围. 就是一个名字在什么地方可以被使用, 什么时候不能使 用

6、在js中采用词法作用域:词法( 代码 )作用域, 就是代码在编写过程中体现出来的作用范围. 代码一旦写好, 不用执行,作用范围就已经确定好了. 这个就是所谓词法作用域.在 js 中词法作用域规则:1. 函数允许访问函数外的数据.2. 整个代码结构中只有函数可以限定作用域.3. 作用规则首先使用提升规则分析4. 如果当前作用规则中有名字了, 就不考虑外面的名字

7、作用域链: 函数内指向函数外的链式结构.(画图:成员声明)

8、闭包:有一个具有封闭的对外不公开的, 包裹结构, 或空间。js 中函数可以构成闭包。允许函数访问外部的数据, 外部无法访问函数内部的数据。闭包是为了实现 具有私有访问空间的 函数的

1. 写一个函数, 函数内定义一个新函数, 返回新函数, 用新函数获得函数内的数据

2. 写一个函数, 函数内定义一个对象, 对象中绑定多个函数( 方法 ), 返回对象, 利用对象的方法访问函数内的数据

3、如何完成读取一个数据和修改这个数据:get_num:  set_num :function(value){}

9、闭包的性能问题:函数执行需要内存, 那么函数中定义的变量, 会在函数执行结束后自动回收. 凡是因为闭包结构, 被引出的数据. 如果还有变量引用这些数据的话, 那么这些数据就不会被回收.因此在使用闭包的时候如果不使用某些数据了, 一定要赋值一个 null

时间: 2024-10-13 11:45:22

面向对象中一丢丢小知识点的相关文章

js中全局变量的一点小知识点

js中有三种方式定义全局变量: 在任何函数外面直接执行var语句,例如:var f="value"; 直接添加一个属性到全局变量上,在web浏览器中,全局对象名为window.例如:window.f="value"; 直接使用未经过声明的变量,以这种方式定义的全局变量成为隐式的全局变量.例如:f="value"; 尽可能少使用全局变量: 其中一种方法就是将他们添加到同一个命名空间去:例如: 1 var My={}; 2 My.name={ 3 &

C#中PadLeft和PadRight小知识点

当我们显示字符串数据时,有时候我们需要考虑数据的排列美观. 比如一些人名和一些编号,我们想让他们整齐对齐显示等. C# String类提供了2种操作方法: String.PadLeft(int totalWidth)//在指定长度内实现右对齐(Pad是Padding填充的简写,PadLeft按照理解也就是填充左部,所以右对齐) String.PadRight(int totalWidth)//在指定长度内实现左对齐(Pad是Padding填充的简写,PadRight按照理解也就是填充右部,所以左

easyui中的combobox小知识点~~

一直使用的easyui中,一些不为人知的小知识点,与君共勉: 1.combobox设置高度:使用panelHeight属性: 2.combobox本身自带“自动补全”功能,但是在浏览器中是有限制的,在火狐当中,它的自动补全功能却不是立马实现的,而是需要敲回车或者其他什么的,但是在其他浏览器,比如360或者谷歌当中,这种自动补全功能却是“立竿见影”的,而且,它也是提供手动输入值的,只不过,手动输入的值,貌似用类似于:var  cities= jQuery('#cities').combobox('

记录神经网络中一些小知识点

记录神经网络中一些小知识点 1 Caffe中的blob维度 Caffe中的blob具有4个维度,分别是num,channel,width和height: 其中我们在定义各个网络层时,常用到的一个参数numout,就是指定的channel: 比如说,维度为1*3*5*5的数据输入网络(即每次输入一张5*5大小的3通道图),经过一个stride为2,pad为1,kernel为2,numout为2的卷积层后,维度就变成了1*2*3*3: 假如输入有n个通道,计算时,caffe就会对应产生n个filte

初学MySQL中的一些小知识点

写在前面,小弟初用博客记录学习路上的一点点小知识点,其中可能有个人理解方面的误差,或不明白的地方.希望各位大牛纠正指导,小弟感激不尽!这并不是什么帮助别人解决问题的文章,只是小弟将学习到的内容一一写在博客上,这样方便以后复习,还恳请大家勿喷.. 一.进入MySQL客户端 1.客户端可以通过.../MySQL/bin目录下的sql.exe运行客户端. 1.1:访问方式一: -u root -p /*可以直接在这段代码的后面添加密码,也可以按回车后再输入密码*/ 1.1:访问方式二: --host

私人定制javascript中数组小知识点(Only For Me)

先上笑话,1.刚看到一个游泳的,想起公司组织去三亚旅游,老板跳海里,各种挣扎,捞上来老板第一句话:我记得我会游泳的啊. 2.媳妇说:老公对不起,我把你新买的自行车撞散架了! 老公:没事宝贝,你若安好,便是晴天! 媳妇说:老公你太有诗意了. 老公:滚犊子,安不好我整死你! 数组的概念 javascript数组是值得有序集合,不过它实属一个javascript对象的特殊形式,这是一个很重点的定性. 创建数组 1.var a=new Array();//等同于[] 2.var a=new Array(

js中关于value的一个小知识点(value既是属性也是变量)

今天在学习input的value值时,发现这么一个小知识点,以前理解不太透彻. [1]以下这种情况,是常见的情况,会弹出“测试内容” <input type="button" value="测试内容" onclick = "alert(value)"> [2]心想,这种情况下value找不到,作用域链应该到document了,应该弹出“123",但情况是弹出空 <script> var value=123; &l

OC面向对象和小知识点

oc小知识点: 在c语言中汉子占三个字节 oc中汉子和字符都是一个字节 #include 和 #import 区别w import 可以防止重复包含 Foundation 把oc的库文件都包含过来 @autoreleasepool 自动释放池 NSLog 会自动换行 NSLog 会自动输出时间项目信息 NSLog 传递的函数参数是NSString对象 printf传递的是字符串常量指针 NSLog 也可以进行格式化输出 NSlog(@"------>%s", str); //不可

私人定制javascript中对象小知识点(Only For Me)

废话不多讲,先上笑话,然后再,.看懂这个的说明你的节操已经不再了. 晚饭后去理发店理发...割了吧...老板问我怎么剪,我悠悠的来一句往帅了剪...高潮往往令人想不到....旁边一在焗油烫头发的大妈说到 别这样为难老板,人家赚点钱不容易...首先如果你是高手那么请出门右转,如果你是菜鸟那么恭喜你,go on吧 全局对象在javascript程序中任何位置,都可以拈来就用的这种东西,是全局对象的属性.那么属性所在的对象也就是全局对象了.当javascript解释器启动时(或者任何Web浏览器加载新

私人定制javascript中函数小知识点

函数的定义 首先在javascript中,函数就是对象,程序可以随意操控它们.比如,可以给它们设置属性,甚至调用它们的方法.函数使用function关键字来定义.它既可以用在函数定义表达式,也可以用在函数声明语句中.函数声明function后面必须要更上函数名称也就是所谓的函数名称标识符.如果是函数表达式函数名称标识符可有可无.这段重点是函数是对象,所以函数表现出来的种种行为你想想成对象,那么很多疑惑可能就恍如昨日初见. 函数调用 4种方式来调用javascript函数: 1.作为函数 就是函数