牛客小题(js)
来源:互联网 发布:钢筋店需要什么软件 编辑:程序博客网 时间:2024/06/02 19:51
1.
RegExp对象的方法:
text ( ) : 用来检测一个字符串是否匹配某个整个表达式,如果匹配成功则返回true,否则false
exec( ) : 用来检索字符串中与正则表达式匹配的值。返回一个数组,其中存放匹配结果,如果没有匹配则返回null;
compile( ) : 在脚本执行过程中编译正则表达式,也可以改变已有表达式;(已经从web标准中删除)
注意:match()是字符串的方法,用来验证正则表达式,结果存放在数组中
例如:
var patt=new RegExp(/\d+/g)
patt.text("1 plus 2 equal 3 ") //true
var patt=new RegExp(/\d+/g)
patt.exec("1 plus 2 equal 3 ") //["1"]
var str="1 plus 2 equal 3"
str.match(/\d+/g) // ["1","2","3"]
2.
主流模块化包含CommonJS,AMD,CMD等;RequireJS遵循AMD规范,SeaJS遵循CMD规范;前者推崇依赖前置,后者推崇依赖就近;
3.
<div style="width:400px;height:200px;"> <span style="float:left;width:auto;height:100%;"> <i style="position:absolute;float:left;width:100px;height:50px;"> hello</i> <span></div>
span标签的宽和高分别是0px和200px;
知识点:
a. span标签是无法设置宽高的
b. float会把浮动元素变成块级元素
c. 绝对定位脱离了文档流
span元素为float,用有了宽和高的属性,继承父元素的高度为200px,而其宽度为auto,子元素脱离了文档流,所以为0px ;(如果这里把<i>的position去掉则可以得到宽度,为100px)
4.
a已经提前声明及定义
console.log("value is "+(a!=0)?"define":"undefine") //define
考点为运算符的优先级
+号的优先级大于三目运算符,所以这里的比较其实是"value is "+(a!=0) 这个默认就是true
5.
call方法和apply方法的作用相同,第一个参数就是执行上下文的对象,第二个参数call是将其他参数依次填入,apply是填入包含参数的数组.
6.
编写函数obj代码使得
var a=obj("name1");
var b=new obj;
a.name="name1";
b.name="name2";
function obj(name){ if(name) { var NewObj={}; NewObj.name=name; return NewObj; }}obj.prototype.name="name2";
7.
(function(){ var a=b=5;})( );console.log (a);console.log (b);
答案是5,ReferenceError
由于匿名函数调用后会被销毁,而且a为局部变量,b是全局变量,所以b存在,a被销毁了
8.
绝大部分值在转换为布尔类型时都为true,但是以下6种情况会为false
""(空串)
null
undefined
0
NaN
false
9.
数字类型中需要注意的几个方面:
a.八进制的数字在开头加一个0,十六进制的数字在开头加0x
b.指数表示法1e+1表示10 1e+2表示100,后面+的数字表示在其后面加的0的个数
c.在js中有一种Infinity的特殊值,它所表示的是超出了js处理范围的数值;不过它的类型还是为数字类型Infinity表示最大数,-Infinity表示最小值;Infinity/-Infinity与任何一个确定的数字进行算术运算的时候结果都为Infinity/-Infinity;但是如果是Infinity与其本身做运算则得NaN;
d.Nan也是一种特殊的数字,也属于数字类型;表示一种失败的运算:例如var a=10* "f" ,则a等于NaN ;NaN有传染性,只有算术运算中存在一个NaN,则整个结果也为NaN; 例如:1+2+NaN 则为NaN;
10.
var x= new Boolean(false);if (x){ alert("hi");}
因为new Boolean返回的是对象;如果要使其不谈出来,则var x=Boolean(false);
11.
function Foo(){ var i=0; return function(){ console.log(i++); }}
var f1=Foo();
var f2=Foo();
f1();//0
f1();//1
f2();//0
- 牛客小题(js)
- js
- js
- JS
- JS
- JS
- js
- js
- js
- js
- js
- JS
- js
- JS
- js
- js
- js
- js
- bootstrapTable动态渲染数据获取
- Discuz!教程之DIY主题模块增加主题随机排序功能
- 梯度(Gradient)与梯度下降法(Gradient Descent)
- 算法设计与应用基础系列7
- 矩阵快速幂DP Darth Vader and Tree : CodeForces
- 牛客小题(js)
- 理解 Memory barrier(内存屏障)
- linux centos7系统的服务器重启,外网ping不通,网卡无法启动的解决办法!
- 书上没有详细列出的几个函数归纳
- 分配mysql用户权限以及修改密码
- c#对字符串的各种操作
- Unable to deserialize into session
- 算法题目-二叉树前中后序遍历
- 采药(NOIP2005)