javascript中在技术上分号是可选的


1.下面两个函数的返回值是一样的吗?为什么?

function foo1()
{
  return {
      bar: "hello"
  };
}

function foo2()
{
  return
  {
      bar: "hello"
  };
}

在编程语言中,基本都是使用分号(;)将语句分隔开,这可以增加代码的可读性和整洁性。而在JS中,如若语句各占独立一行,通常可以省略语句间的分号(;),JS 解析器会根据能否正常编译来决定是否自动填充分号:

var test = 1 + 2console.log(test); 

在上述情况下,为了正确解析代码,就不会自动填充分号了,但是对于 return 、break、continue 等语句,如果后面紧跟换行,解析器一定会自动在后面填充分号(;),所以上面的第二个函数就变成了这样:

function foo2()
{
  return;
  {
      bar: "hello"
  };
}

所以第二个函数是返回 undefined。

转载:https://blog.csdn.net/zztfreedom/article/details/78405596


2.javascript中数字全部用浮点精度处理。在ECMAScript规范中,整数只在概念上存在,即数值始终作为浮点数存储。

console.log(0.1+0.2);

可能会输出:0.30000000000000004

25==25.0//true

3.js不会主动为你判断你到底给函数传了多少个参数,如果你多传了,多余的部分就没有被使用,如果你少传了,那么没传的参数值就是undefined。

arguments对象不是一个 Array 。它类似于Array,但除了length属性和索引元素之外没有任何Array属性.

4.Js apply 方法 详解

转自:https://blog.csdn.net/myhahaxiao/article/details/6952321

5.高阶函数--匿名函数

function sum(x){
if(x.length==2){
return x[0]+x[1];
}
else{
return function(y){
return x+y;
}
}

}

sum(2)(3)//5;

6.let 语句声明一个块级作用域的本地变量,并且可选的将其初始化为一个值

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/let

7.调用对象的reverse()方法不仅以相反的顺序返回数组arr2,它还颠倒了原来数组arr1本身的顺序,而且arr2是对arr1的引用,因此对arr2做的任何操作,arr1都会受到影响,反之亦然。

8.和(&&)运算符。在X&&Y形式的表达式中,首先评估X并将其解释为布尔值。如果此布尔值为false,则返回false(0)并且不评估Y,因为”and“条件已失败。但是,如果这个布尔值为“真”,我们仍不知道X&&Y是真是假,直到我们评估Y,并将其解释为布尔值。

然而,&&运算符有趣之处在于,当表达式评估为‘真’时,则返回表达式本身。

1&&2//2,

"aa"&&"bb"//''bb'

9.fun.bind(thisArg[, arg1[, arg2[, ...]]])绑定函数,指定this对象。

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/bind

10.Array.prototype.slice.call()方法的理解, [].prototype.slice.call()

Array.prototype.slice.call(arguments)能将具有length属性的对象(key值为数字)转成数组。[]是Array的示例,所以可以直接使用[].prototype.slice()方法

https://segmentfault.com/a/1190000008940666

11.var语句被挂起(没有它们的值初始化)到它所属的全局或函数作用域顶部。(即 var x=19;中:var x语句会被挂起到顶部,19值初始化并不会)。

12 (width,height,left,top)scroll**,client**,offset**

div.scroll**,其实是表示div里面的内容(padding以内)实际宽高,和相对div的外边界的left、top

div.client** 表示div里面的内容(padding以内)可见宽高,和相对div外边界的left、top

div.offset**表示div相对父元素(内边界)的宽高,left、top


13 jquery index方法

第一个匹配元素的 index,相对于同胞元素

获得第一个匹配元素相对于其同胞元素的 index 位置。//同胞元素具有相同的父元素

$(selector).index()

14 Position()方法

获取匹配元素中第一个元素的当前坐标,相对于离该元素最近且被定位过的父元素,

position(coordinate)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值