欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js零散知识点

程序员文章站 2024-02-28 08:42:10
...

随机数:

1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1)

2.Math.floor(Math.random()*10);  获取0-9之间的随机数

3.Math.floor(小数);取整的,返回小于等于“小数”的整数。

4.Math.ceil(小数);取整的,返回大于等于“小数”的整数。

5.Math.ceil(Math.random()*10);获取的是1-10之间的数也包括0,但是出现0 的几率很低

---------------------------------------------------------------------------------------------------------------------------------

1,简单两个meta标签的作用:

<metaname="Keywords" content="搜索的关键字">

         <metaname="Description" content="你的网页的描述">

 

Jquery获取节点的一些简单封装:

function getById(id){

                            returndocument.getElementById(id);

                   }

                   var $ = getById('box');   

                   console.log($)(高程3)

//className选择器的封装:

getElementsByClassName--------------h5里面新增的选择器,ie8以下不兼容。

 

 

//复习拓展:

===      不会发生类型的转换,直接比较值,性能会更高。

==       先进行数据的转换,比较值是否相等

=        简单赋值。

 

·        对于 stringnumber 等基础类型,== === 是有区别的

·        不同类型间比较,== 之比较 "转化成同一类型后的值" "" 是否相等,=== 如果类型不同,其结果就是不等。

·         b)同类型比较,直接进行 "" 比较,两者结果一样。

、基础类型与高级类型,== === 是有区别的

·        a)对于 ==,将高级转化为基础类型,进行 "" 比较

·         b)因为类型不同,=== 结果为 false

4!= == 的非运算,!== === 的非运算

 

 

123e5       12300000 (e/后面可添加对应的数字并且填充0)

 

对代码进行折行    \    eg:document.write(“你好\世界!”)  document.write\(你好世界!)

 

match()      匹配里面的字符  eg:element.src.match(“imgs”) 怎么样----

 

innerHTML       会打印出元素文本  ` <div id=”box”>好<span>为啥子</span>厉害</div> box.innerHTML   会包括标签都打印出来好<span>为啥子</span>厉害

 

 

JavaScript 变量的生存期

JavaScript 变量的生命期从它们被声明的时间开始。

局部变量会在函数运行以后被删除。

全局变量会在页面关闭后被删除。

 

 

数组去重(面向对象的封装);

 

Array.prototype.unique1 = function(){

         var res =[this[0]];

         for(var i =1; i < this.length; i++){

                 varrepeat = false;

                 for(varj = 0; j < res.length; j++){

                          if(this[i]== res[j]){

                                   repeat= true;

                                   break;

                          }

                 }

                 if(!repeat){

                          res.push(this[i]);

                 }

         }

         return res;

}

var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]

alert(arr.unique1());

第二种方法:

Array.prototype.unique2 = function(){
         this.sort();     //先排序
         var res = [this[0]];
         for(var i = 1; i < this.length; i++){
                 if(this[i] !== res[res.length - 1]){
                          res.push(this[i]);
                 }
         }
         return res;
}
var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]
alert(arr.unique2());

第三种方法:

Array.prototype.unique3 = function(){
         var res = [];
         var json = {};
         for(var i = 0; i < this.length; i++){
                 if(!json[this[i]]){
                          res.push(this[i]);
                          json[this[i]] = 1;
                 }
         }
         return res;
}
 
var arr = [112,112,34,'你好',112,112,34,'你好','str','str1'];
alert(arr.unique3());

js作用域问题:

         变量的申明问题:

a =10;

 在js中的执行其实就是: vara= undefined;   a = 10;

 

 

for(varI = 0;i<10;i++){}console.log(i)---------------10

(function(){

         For(var i=0;i<10;i++){}

})()

Console.log(i)--------------------------(相当于创建了一个局部作用域)外面就会-报错

 

For(let I =0;i<10;i++){}console.log(i)-------------------let申明的变量就相当一个块级作用域,在外面打印就会报错

 

变量提升:

 

Functiona(){

         Console.log(f);

         Var b = 10;

}

 

// var 的情况
console.log(foo); // 输出undefined
var foo =2;
 // let 的情况
console.log(bar); // 报错ReferenceError
let bar =2;//----
functionf1(){
  let n =5;  
if(true){
    let n =10;  
}
  console.log(n); // 5
}

Const申明的变量就是一个只读的常量,不能改变这个值。如果一旦改变了这个值就会报错

const PI =3.1415;PI // 3.1415
 PI =3;

Const如果只申明不赋值,会报错

const num;
// SyntaxError: Missing initializer in const declaration

还有一种就是const之前调用会报错

if(true){
console.log(MAX); // ReferenceError ;
const MAX =5;
}

Js中的this指向问题巩固;

function fn(){
var a = 12;
console.log(this.a)  //这里会是undefined,因为在js中有函数作用域,然而,在此函数中,a的申明是用war申明的,所以他在这个函数中是一个局部变量(私有变量),this的指向是指向调用他的对象,那就是window,所以在window下面没有a,会是undefined
this的指向在函数创建的时候是决定不了的,在调用的时候才能决定,谁调用的就指向谁,一定要搞清楚这个。
}

可能有些凌乱,抽空整理一下,不过希望大家,多提里面错误或者描述不正确的问题。

*软件:

红杏、

www.shenduvpn.com备用网站:www.shenduvpn.cn

国外网站:Youtube   Facebook   Tiwtter   Google等