JavaScript 自学学习笔记

导入文件路径范例  file://F:/js_html_test/image/tisssmg.jpg   win

window.alert('')    弹窗

console.log('')     浏览器控制台输出(打印)

style.fontSize = '35px'   算出数据变为35像素展示

style.display='block'   等于打开隐藏内容
 
<p id="demo" style="display:none">html上看不见我,要有一个打开效果才行</p>    这个P字段隐藏

<br>     换行符

var 声明一个变量 
var a = 1;
var a;        不影响a=1,命名变量以;号分割。


>>>计算:


=   赋值
+=  1+=1 == 1+1
-=  7-=1 == 1-1
*   乘
/   除
%   取模
++  递增
--  递减
*=  前乘后
/=  前除后

typeof         和python type一样 测数据类型

a  = 'i'+ 4 + 2 
b  =  4 + 2 + 'i'
a 结果为  i42
b 结果为  6i

var x = "中国是瓷器的故乡,因此 china 与\"China(中国)\"同名。";
转义序列 \" 在字符串中插入双引号 

字符串和数字拼接,数字在前,先算数字,数字在后,拼接数据。
 
<button οnclick="this.innerHTML=Date()">时间是?</button>    直接改变按钮的操作

txt.length   加length 返回txt字符串的长度

\         您可以用反斜杠在文本字符串中进行换行。

var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China");    indexOf() 方法返回指定文本首次出现的位置

var res = str.match(/ain/g); 
在字符串化中执行对字母“ain”(/ain)的全局(/g)搜索,并显示匹配项。

str.replace("Microsoft","W3School");
Microsoft”替换为“W3School

text.toUpperCase()    将字符串转换成大写
text.toLowerCase()    将字符串转换成小写

var str = "a,b,c,d,e,f";
var arr = str.split(",");  split按照,将字符串分割成数组


>>>数字:


var a = 188888888888888888 会被精确到15位,最多显示15位

浮点数计算不一定每时每刻都精确
要想浮点数计算正确,可以先将浮点数经过乘除来计算之后,能拿到精确的计算值

除法乘法减法 都会尝试把字符串转化成数字,加法不会。
除法乘法减法 都会尝试把字符串转化成数字,加法不会。

100/'ddd' 用非数字字符串进行除法会得到 NaN(Not a Number)

isNaN()   方法判断是否为数字   是数字返回TRUE

NaN 是非数字,但是typeof NaN 返回 number  

Infinity 指达到无法计算值时,返回的值,可做参考
0/任何数  都对于Infinity 

前缀为0x的常量会被解析为十六进制

toString() 方法以基数 2 到 36 输出字符串

valueOf()  返回为数字

toExponential() 方法返回一个字符串,包含进行舍入的数字并使用指数表示法。

toFixed() 方法将数字四舍五入为给定的位数。

toPrecision() 方法返回一个字符串,其中包含一个用指定长度写的数字.

Number() 方法把变量转换为数字.还可以把日期转换为数字.

parseInt() 把字符串转换为数字,整数型的。(数字在前可以转换前面的数字,数字在后前面有字符串无法转换,得到一个NaN)

parseFloat() 把字符串转换为数字,可以有浮点类型的数据。与上面一样,只会转换第一个,如 parseFloat('111.11 DDD')

var x = Number.MIN_VALUE;     得到js最小值
var x = Number.MAX_VALUE;      得到js最大值

var x = Number.POSITIVE_INFINITY;     表示数据无穷大       Infinity
var x = Number.NEGATIVE_INFINITY;     表示数据负无穷大     -Infinity

var x = 1 / 0;    计算结果等于无穷大    Infinity
var x = -1 / 0;   计算结果等于负无穷大    -Infinity


100 / "Apple"   数字除以非字符串,结果等于NaN
 
var x = 6;
document.getElementById("demo").innerHTML = x.MAX_VALUE;     对变量、表达式或值使用数字属性  undefined


>>>数字方法:

Math.PI   返回圆周长与直径的比率    3.14159....

Math.round(x)   返回 x 四舍五入到最接近的整数的值,只取第一位的 如  4.5 = 5    4.4 = 4  4.4999999 = 4

Math.pow(x,y) 返回 x 的 y 次幂的值    Math.pow(8,2) ==  8^2 = 64

Math.sqrt(x) 返回 x 的平方根:      Math.sqrt(64) =  8  

Math.abs(x) 返回 x 的绝对值:       Math.abs(-4.4); = 4.4

Math.ceil(x) 把数字上舍入为最接近的整数   Math.ceil(4.00001)  = 5

Math.floor(x) 数字下舍入为最接近整数的值    Math.ceil(4.00001)  = 4

Math.sin(x) 返回 x(以弧度计)的正弦  "The sine value of 90 degrees is " + Math.sin(90 * Math.PI / 180); = 1
Math.cos(x) 返回 x(以弧度计)的余弦  "The cosine value of 0 degrees is " + Math.cos(0 * Math.PI / 180); = 1

Math.max() 返回参数列表中的最高值:  Math.max(0, 150, 30, 20, -8, -200); = 150 
Math.min() 返回参数列表中的最低值:  Math.min(0, 150, 30, 20, -8, -200); = -200

Math.random() 生成0-1之间的随机数   如  0.8620973249208497

Math.floor(Math.random() * 10)       返回 0 与 9 之间的随机整数(均包含)
Math.floor(Math.random() * 100)      返回 0 与 99 之间的随机整数(均包含)
Math.floor(Math.random() * 101)      返回 0 与 100 之间的随机整数(均包含)
Math.floor(Math.random() * 10) + 1)  返回 1 与 10 之间的随机整数(均包含)
Math.floor(Math.random() * 100) + 1) 返回 1 与 100 之间的随机整数(均包含)

Math.floor(Math.random() * (max - min)) + min;      
getRndInteger(0,10)      返回0-9之间的的随机数    只包含x不包含y

Math.floor(Math.random() * (max - min + 1) ) + min;   
getRndInteger(0,10)      返回0-10之间的的随机数   x和y都可以被包含

>>>日期
Date()           获取当前日期

getFullYear()    返回日期和完整年份      var d = new Date();    d.getFullYear()   

getTime()        函数返回1970.1.1开始到现在的毫秒数:    1564543577982
   
setFullYear()    方法设置日期对象的年份:  var d = new Date(); d.setFullYear(2020);  返回Fri Jul 31 2020 11:26:54 GMT+0800 (中国标准时间)

toUTCString()    方法将日期转换为 UTC 字符串(日期显示标准) var d = new Date();  d.toUTCString();

getDay()         方法将周名作为数字返回   var d = new Date();  d.getDay();   返回周几数字,星期的数
如   var d = new Date();    var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];  days[d.getDay()];
可以使用数组来显示星期的名称:

>>>JavaScript 数组

var cars = ["Audi", "BMW", "porsche"];  创建数组
    document.getElementById("demo").innerHTML = cars[0];  获取数组索引0开始

cars[0] = "Volvo";
    document.getElementById("demo").innerHTML = cars;   替换数组中索引为0的内容

    document.getElementById("demo").innerHTML = cars.length; == 4  长度为4
    
cars=["BMW","Volvo","Saab","Ford"];
for (var i=0;i<cars.length;i++){
    document.write(cars[i] + "<br>");
}                                             JavaScript 中for循环的使用方法

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits;

function myFunction() {
  fruits.push("Kiwi");
  document.getElementById("demo").innerHTML = fruits;
}
                            使用push()向数组中添加元素

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits;

function myFunction12() {
  fruits[fruits.length] = "Lemon";
  document.getElementById("erer").innerHTML = fruits;
}                          length 属性提供了一种在不使用 push() 方法的情况下将新元素附加到数组的简便方法。


    
var fruits, text, fLen, i;
fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[6] = "Lemon";

fLen = fruits.length;
text = "";
for (i = 0; i < fLen; i++) {
  text += fruits[i] + "<br>";
}                                                  
document.getElementById("demo").innerHTML = text;  添加具有高索引的元素可以在数组中创建未定义的“孔”。

fruits instanceof Array;
Array.isArray(fruits);       两种方法判断是否为数组,是数组时返回 true  否则返回false


fruits.push();       向数组fruits中添加一个元素元素
fruits.pop();        删除fruits数组中的最后一个元素
fruits.join();      方法将数组元素连接成一个字符串
fruits.unshift();    添加元素到数组的开头
fruits.shift();     删除数组中第一个元素

var myGirls = ["Emma", "Isabella"];
var myBoys = ["Jacob", "Michael", "Ethan"];
var myChildren = myGirls.concat(myBoys);       concat() 方法用于合并(连接)数组(连接两个数组)

var myChildren = arr1.concat(arr2, arr3);      concat() 方法用于合并(连接)数组(连接三个数组)   可以连接多个
 
fruits.splice()       两个参数,第一个是插入数组中的哪一个位置,第二个不是必填参数,插入进去是否替换,替换几个
fruits.toString()     把数组转换为字符串,逗号隔开
fruits.unshift()      方法将新元素添加到数组的开头
fruits.shift()        方法删除数组的第一个元素(并将所有其他元素“移位”到左侧)

>>>>>JavaScript 数组排序


fruits.sort()                              按照字母的顺序进行排序首字母
fruits.reverse()                            方法反转数组中的元素。  
    fruits.sort();fruits.reverse();     通过组合 sort() 和 reverse(),您可以按降序对数组进行排序。


    
    
var points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = points;  

function myFunction() {
  points.sort(function(a, b){return a - b});
  document.getElementById("demo").innerHTML = points;
}                                             以升序对数组进行排序

var points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = points;  

function myFunction() {
  points.sort(function(a, b){return b - a});
  document.getElementById("demo").innerHTML = points;
}                                             以降序对数组进行排序

var points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = points;  

function myFunction() {
  points.sort(function(a, b){return 0.5 - Math.random()});
  document.getElementById("demo").innerHTML = points;
}                                             对数组进行随机排序


var points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = myArrayMin(points);

function myArrayMin(arr) {
  return Math.min.apply(null, arr);
}                                            Math.min  算出最小值


var points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = myArrayMax(points);

function myArrayMax(arr) {
  return Math.max.apply(null, arr);
}                                            Math.max  算出最大值


var cars = [
  {type:"BMW", year:2017},
  {type:"Audi", year:2019},
  {type:"porsche", year:2018}
];

displayCars();

function myFunction() {
  cars.sort(function(a, b){return a.year - b.year});
  displayCars();
}

function displayCars() {
  document.getElementById("demo").innerHTML =
  cars[0].type + " " + cars[0].year + "<br>" +
  cars[1].type + " " + cars[1].year + "<br>" +
  cars[2].type + " " + cars[2].year;
}                                             按年份排序数组     

var cars = [
  {type:"BMW", year:2017},
  {type:"Audi", year:2019},
  {type:"porsche", year:2018}
];

displayCars();

function myFunction() {
  cars.sort(function(a, b){
    var x = a.type.toLowerCase();
    var y = b.type.toLowerCase();
    if (x < y) {return -1;}
    if (x > y) {return 1;}
    return 0;
  });
  displayCars();
}

function displayCars() {
  document.getElementById("demo").innerHTML =
  cars[0].type + " " + cars[0].year + "<br>" +
  cars[1].type + " " + cars[1].year + "<br>" +
  cars[2].type + " " + cars[2].year;
}                                            按照字符串的首字母排序

>>>数组迭代

Array.forEach()         数组中的每个元素调用一次函数方法
Array.map()                数组元素执行函数来创建新数组
Array.filter()            数组中元素通过函数测试的所有数组元素创建一个新数组
Array.reduce()            数组中所有数字的总和,并且和加分运算法则一样
Array.reduceRight()     和上面这个功能一样,只是从又往左累计相加
Array.every()            数组中的是否全部满足条件,通过测试  通过返回True,否则返回false
Array.some()            数组中的是否部分满足条件,或者含有满足条件,通过测试返回True,否则返回false
Array.indexOf()             在数组中查询该元素存在在哪个位置,返回对应的位置数字,
Array.lastIndexOf()     在数组中如果存在多哥相同的元素,将返回最后的那个元素的位置参数
Array.find()               在数组中找到满足条件的第一个元素,并且将他打印出来
Array.findIndex()        在数组中找到满足条件的第一个元素,并且将他的索引打印出来

constructor    返回属性变量的对象构造器函数 例如   "john".constructor   function String() { [native code] }


String(x)             方法把数字转换为字符串。
toString(x)         方法把数字转换为字符串。

Array.isArray()     确认变量参数是否为数组

isDate()            检测是否为日期(自制的)
    function isDate(myDate) {
      return myDate.constructor.toString().indexOf("Date") > -1;
    }

Boolean( 9 > 8 )    判断条件是否正确,正确则返回True 否则返回false

Boolean()     拥有一切真值的布尔值是True,0的布尔值为false,-0的布尔值为false

布尔值为false的类型有:
    0,-0,'',undefined,null,false,NaN 这些值在布尔类型里都是false
    

   


    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后端工匠之道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值