Javascript 王者归来 要点提取2

2、函数(第6章 函数)

 

  • 闭包:

    闭包就是一个函数引用另一个函数的变量,因为变量被引用着所以不会被回收,因此可以用来封装一个私有变量。这是优点也是缺点,不必要的闭包只会增加内存消耗。

    或者说闭包就是子函数可以使用父函数的局部变量,还有父函数的参数。

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();
 
add();
function outerFunction() {
    var counter = 0;
    function innerFunction(){
        return counter += 1;
    }
    return innerFunction;
    /*
     注意 typeof innerFunction 是:function;而typeof innerFunction()是number;
    */
}
var add = outerFunction();

 

  • arguments对象    arguments[0]

 

function f(x,y,z)   判断数量是否相等

if(f.length!=arguments.length)

可以用来实现函数重载

 

  • 一个特殊的调用对象属性“this”总是引用函数的所有者

  • call()和apply()方法的第一个参数都是要调用函数的对象,用call()和apply()调用函数时,函数内的this属性总是引用这个参数。call()的剩余参数是传递给要调用的函数的值,它们的数量可以是任意的.apply()方法和call()方法类似,只不过它只接受两个参数,除了调用者之外,它的第二个参数是一个带下标的集合(比如数组,但也可以不是数据),apply()方法把这个集合中的元素作为参数传递给调用的函数。

3、对象(第七章)

 

  • JavaScript规定,实例的constructor的值总是对构造函数即对象类本身的引用。这是一个很有用的属性,因为它从概念上而言就是对象实例所属的对象类,在具有继承关系的对象中,它总是指向当前类本身,因此常用它来进行准确的运行时类型识别
  • JavaScript中,要销毁一个对象,必须要消除一个对象所有的外部引用。JavaScript的存储单元回收机制采取的是引用计数法,具体来说就是当一个对象被创建,并且它的引用被存储在变量中,引用计数就为1,当它的引用被复制,并且存储在另一个变量中,引用计数就增加1,当保存这个引用的其中一个变量被某个新值覆盖了时,引用计数就减少1,以此类推。当一个对象的引用计数被减少为0时,它才会被销毁。

 

4、数组

 

  • 删除元素

        delete操作虽然能够删除数组元素,但它并不会改变数组的length属性,因此如果要删除数组某个下标值之后的元素,应当直接修改length的值,而不是用delete运算。

 

        Array原型的push0和pop0方法将数组看作是一种堆栈类型的数据结构。这种数据结构的特点是“后进先田”,使用push0方法可以在数组的末尾插入一个或多个元素,而使用pop0万法可以依次弹田它们。

 

 

基本的正则表达式?

 

 

 

表单校验代码?

 

https://www.cnblogs.com/liugang-vip/p/5616484.html

 

margin塌陷

父子元素,margin粘到一起,相对于上一层元素一起动,margin取大的     给父级触发bfc

兄弟元素,中间的margin取较大的    每一个拿div包起来,再每个新的div触发bfc,这个不解决,知道就好

 

解决,触发bfc,position:absolute;   /    display:inline-block /float:left/right    /overflow:hidden;

 

浮动元素产生了浮动流所有产生了浮动流的元素,块级元素看不到他们产生了bfc的元素和文本类属性(inline)的元素以及文本都能看到浮动元素

1.给他后面加个元素,如下面的p,属性clear:both;就可以

清楚浮动完美解决方法:但上面会改变结构,伪元素天生行级,让他是block,并且clear:both,清楚浮动

 

让父级也产生付浮动流

 

一个知识点:设置为display:absolute和float之后  ,会变为inline-block;

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当设计一个JavaScript书城时,有几个要点需要考虑: 1. 用户界面设计:一个好的用户界面对于书城的成功非常重要。确保界面简洁、直观,并提供易于导航和搜索的功能。考虑使用响应式设计,以适应不同设备上的不同屏幕尺寸。 2. 图书分类和搜索功能:为了方便用户查找和浏览图书,设计一个有效的分类系统,并提供搜索功能。用户应该能够根据作者、标题、关键词等进行搜索,并获得相关的图书列表。 3. 图书详情页面:每本图书应该有一个详细的页面,展示图书的封面、作者、出版日期、简介等信息。还可以考虑添加用户评价和评论功能,以及相关推荐。 4. 购物车和结算功能:设计一个购物车系统,允许用户将感兴趣的图书添加到购物车中,并提供结算功能。确保购物车可以管理多个图书,并计算总价和运费等。 5. 用户登录和个人资料管理:为用户提供注册和登录功能,以便他们可以保存个人资料、查看订单历史和管理收货地址等。确保用户信息的安全性和隐私保护。 6. 支付和配送方式:设计一个安全可靠的支付系统,支持多种支付方式,并提供不同的配送选项,如快递、自取等。 7. 后台管理系统:为管理员提供一个后台管理系统,用于管理图书库存、订单处理、用户管理等。确保管理员可以轻松地添加、编辑和删除图书,并监控销售情况。 8. 性能和安全性:优化网站的性能,确保页面加载速度快,并采取必要的安全措施,如数据加密、防止SQL注入等,以保护用户信息和交易安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值