JavaScript基础-个人笔记

基本语法

alert(""); //弹出窗口
document.write(""); //让计算机在页面输出一个内容 (向body中输出一个内容)
console.log("");//向控制台输出一个内容

a++ 和 ++a 的区别:

(1)a++ :存储新值,用旧值(上一个值)来计算,也就是输出旧值;

(2)++a :存储新值,用新值(当前的值)来计算,也就是输出新值;


在JS中一共有六种数据类型(数据类型指的就是字面量的类型)

基本数据类型

​ String 字符串

​ Number 数值

​ Boolean 布尔值

​ Null 空值

​ Undefined 未定义

引用数据类型

​ Object 对象

扩展

Symbol 生成一个全局唯一的值(但并不是字符串)。

BigInt 一种新的数据类型, 用于当整数值大于Number数据类型支 持的范围时。这种数据类型允许我们安全地对大整数执行算术操作,表示高分辨率的时间戳,使用大整数id,等等,而不需要使用库。
重要的是要记住,不能使用Number和BigInt操作数的混合执行算术运算,需要通过显式转换其中的一种类型。此外,出于兼容性原因,不允许在BigInt上使用一元加号(+)运算符。


typeof 变量 //typeof检测一个变量的数据类型

typeof会将该值的类型以字符串的形式返回


String字符串相关:

在字符串中可以使用\作为转义字符,当表示一些特殊符号时可以使用\进行转义

/*
 *   \"   表示"
 *   \'   表示'
 *   \n   表示换行
 *   \t   表示制表符
  *   \\  表示\
**/
Number数值相关:
在JS中所有数值都是Number类型,包括整数和浮点数。
JS中可以表示的数值的最大值:

​ Number. MAX-VALUE //1.7976931348623157e+308

大于0的最小值:

​ Number. MIN-VALUE //5e-324

如果使用Number表示的数字超过了最大值,则会返回

​ Infinity 表示正无穷

​ -Infinity 表示负无穷

​ PS:使用typeof检查Infinity也会返回number

NaN 是一个特殊的数字,表示Not a Number

​ PS:使用typeof检查NaN也会返回number

在JS中整数的运算基本可以保证精确
如果使用JS进行浮点(小数)运算,可能得到一个不精确的结果,所以千万不要使用JS进行精确度要求比较的运算
Boolean 布尔值相关
布尔值只有两个,主要用来做逻辑判断

​ true - 表示真

​ false - 表示假

​ 使用typeof检查一个布尔值时会返回boolean

Null 空值相关

Null类型的值只有一个,就是null

null这个值专门用来表示为一个空的对象

使用typeof检查一个null值时,会返回object

Undefined未定义相关

Undefined类型的值只有一个,就是undefined

当声明一个变量,但是并不给变量赋值时,它的值就是undefined

使用typeof检查一个undefined时也会返回undefined


强制类型转换

将其他数据类型转化为string

1)调用被转换数据类型的toString()方法

​ 该方法不会影响到原变量,它会将转换的结果返回(null和undefined这两个值没有toString()方法,如果调用则会报错)

2)调用String()函数,并将被转换的数据作为参数传递给函数

​ 使用String()函数做强制类型转换时

​ 对于Number和Boolean实际上是调用的toString()方法

​ 但是对于null和undefined,就不会调用toString()方法

​ 它会将null(字面量)直接转换为"null"(字符串)

​ 它会将undefined(字面量)直接转换为"undefined"(字符串)

将其他数据类型转化为number

1)使用Number函数

​ 字符串--->数字

​ 纯数字-->数字

​ 含非数字内容-->NAN

​ 布尔值--->数字

​ true-->1

​ false-->0

​ null--->0

​ undefined--->NAN

2)parseInt()把一个字符串转化为一个整数

alert(parseInt('1000px'))    //1000 返回我整数部分
alert(parseInt('px1000'))     //NaN 如果第⼀个不是整型,就返回NaN
alert(parseInt('1000px1000')) //1000 返回我整数部分 从第⼀个数值开始取值,,到最后⼀个连续数值结
alert(parseInt('100.55')) //100 返回我整数部分 从第⼀个数值开始取值,,到最后⼀个连续数值结束
alert(parseInt(''))    //NaN

parseInt()函数除了可以识别⼗进制,也可以识别八进制和⼗六进制

var num1 = parseInt("1234blue"); // 1234
var num2 = parseInt(""); // NaN
var num3 = parseInt("0xA"); // 10(⼗六进制数)
var num4 = parseInt(22.5); // 22
var num5 = parseInt(070); // 56(八进制数) ECMAScript 5规则
var num5 = parseInt("070"); // 56(八进制数) ECMAScript 3规则
var num6 = parseInt("70"); // 70(⼗进制数)
var num7 = parseInt("0xf"); // 15(⼗六进制数)

3)parseFloat()把一个字符串转换为一个浮点数

var num1 = parseFloat("1234blue"); //1234 (整数)
var num2 = parseFloat("0xA"); //0 不认⼗六进制
var num3 = parseFloat("22.5"); //22.5
var num4 = parseFloat("22.34.5"); //22.34 只认第⼀个数点
var num5 = parseFloat("0908.500"); //908.5 去掉前导0后导0
var num6 = parseFloat("3.125e7"); //31250000 把科学计数法转换成普通的数值
将其他数据类型转化为boolean

使用Boolean()函数

  1. 数字--->布尔值

    除了NaN和0转成false,其余全为true

  2. 字符串--->布尔值

    除了空串(a=""),其余都是true(包括a=" ")

  3. null和undefined都会转换为false

  4. 对象也会转换为true


JS new Date(); 获取图片

var date = new Date();//会将当前日期和时间保存为其初始值
//参数形式
new Date('month day,year hour:min:second');
new Date('month day,year');
new Date(year,month,day,hour,min,second);
new Date(year,month,day);
new Date(ms);

forEach()

增强版的for循环,用于遍历数组

var arr = [6,7,5,4,1,9];
arr.forEach(function(correntvalue,index,array){
    console.log(correntvalue); //当前项
    console.log(index);//当前项索引
    console.log(array);//调用forEach的数组
})

filter()

filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素。

和map()类似,Array的filter()也接收一个函数。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。

var arr = [6,7,5,4,1,9];
//filter()接收的回调函数,其实可以有多个参数。通常我们仅使用第一个参数,表示Array的某个元素。回调函数还可以接收另外两个参数,表示元素的位置和数组本身
var newArr = arr.filter(function(correntvalue,index,array){
    console.log(correntvalue); //当前项
    console.log(index);//当前项索引
    console.log(array);//调用filter的数组
    return true;
});

//在一个Array中,删掉偶数,只保留奇数
var newArr = arr.filter(function(num){
    return num%2!==0;
})

match()

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

该方法类似 indexOf()lastIndexOf(),但是它返回指定的值,而不是字符串的位置。

var regexp = /[0-9]/g;//例子
//语法
//stringObject.match(searchvalue)
//stringObject.match(regexp) //检索stringObject内所有的[0-9]

onblur元素失去焦点时

call(),apply(),bind()用来改变this的指向
fn.call(obj,1,2);//第一个参数为作用对象,第二个以后传递进来的实参传递给函数
fn.aply(obj,[1,2]);//第一个参数为作用对象,第二个参数是数组传入fn
fn.bind(obj,1,2)();//返回仍是函数(bind不兼容IE6~8)
  1. 相同点:

    三个函数都会改变this的指向(调用这三个函数的函数内部的this)

  2. 不同点:

    1)bind会产生新的函数,(把对象和函数绑定死后,产生新的函数)

    2)call和apply不会产生新的函数,只是在调用时,绑定一下而已。

    3)call和apply的区别,第一个参数都是要绑定的this,apply第二个参数是数组(是函数的所有参数),call把apply的第二个参数单列出来。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容