boolean
(布尔型)、string
(字符型)、number
(数值型)、undefined
(未赋值的空变量)、null
+
字符串,哪怕字符串之后还跟了数值运算,之后的所有都做拼接运算。typeof
:用来检测变量数据类型的操作符toString()
typeof
打印输出都是字符型Number()
、perseInt()
、parseFloat()
null
是空对象引用,用Number()
可转型为0;若转型的字符内容本身不是数字,无法转型;undefined
不是一个数值型,无法转型Number():
var c=Number('c');
var d=Number(undefined);
var e=Number(null);
console.log( c, d, e);
null
和undefined
本身不是数字,无法转型,perseInt()
的用法与Number()
的用法近乎一致var c=parseInt('2');
var e=parseInt('k123');
var d=parseInt(undefined);
var f=parseInt(null);
console.log(c, d, e,f);
parseFloat()
:会将字符串中不是数字的部分自动删除,数字的部分转型为数值型;只会识别它们认识的浮点型(如下面的1.2,1.2以后的内容会自动删除);字符串开头第一个不是数字的,无法转型;显示NaN
(Not a Number):非数值型无法转型为数值型var c=parseFloat('122k');
var d=parseFloat('1.2.3.4.5');
var e=parseFloat('k123');
var f=parseFloat(undefined);
var g=parseFloat(null);
console.log(c, d, e,f,g);
true
);如果字符串中没有内容转型为布尔型(为flase
);数值转型为布尔型(为flase
);null
和undefined
都为空值(为flase
) var a =Boolean('1');
var b=Boolean('可以转型为0');
var c=Boolean(0);
var d=Boolean(undefined);
var e=Boolean(null);
var f=Boolean('');
console.log(a, b, c,d,e,f);
for...in
(for(键 in 对象))
var a
:键a
:对象if
(条件判断):if
条件成立,则else
条件不执行,如果if
条件不成立,则else
条件执行。if{
} else{
}
if else if
都没有执行,则执行else
的代码。if {
else if{
}
}else{
}
switch
(条件判断)switch(){
case():
break;
case():
break;
default;
}
do{}while
(条件判断)do{
代码
}while(条件)
var a1=[1,'s'];
var a1=new Array(a,3,4,52,'as');
function
函数名(){var s=function
函数名(){var a={
age:18,
name:'滴滴',
id:2022,
speak:function(){
console.log('中文');
}}
console.log(a.age);
function(){
代码
}
retrun
,则函数调用之后接收的返回值为undefined
undefined
retrun
之后,不管有什么代码,都不会再执行,因为retrun
后就结束执行代码了var fun=function(){
console.log();
}
fun();
function(){
console.log();
})();
var a2={
age:21,
fun:function(){
console.log(this.age);
}
}
var a1={
age:18,
fun:a2.fun,
}
/*a1调用fun的函数,fun函数的方法指向a2的方法,因为是a1调用所以这个this指向a1,
需要在a1的字面量申明对象中找age的值,所以最后调用的age是a1的18*/
a1.fun();
var a =10;
这一行写与不写区别还是很大的,不写会直接报错,写两只会提示该值为空值(undefined
)- 解析(编译)阶段:语法检查,变量及函数进行申明(先检查语法是否有错误,在检查变量及函数的申明)
- 运行阶段:变量的赋值,代码流程执行
(先进行变量的赋值,在执行代码)
var a=new Date()
console.log(a.getMonth()+1))
function
,只要遇到了function
就执行function
var
还是function
,function
置于最顶部在前面,var
在后,优先执行var
console.log(a);
var a='aaaa';
function a(){
console.log(10);
}
var a='aaaa';
console.log(a);
这里的k是形参
function s(k){
var n=0;
for(var i=0;i<=k;i++){
n+=i;
}
console.log(n);
}
这里的30是实参
s(30);
draggable
:‘true
’(元素可拖动)、‘flase
’(元素不可拖动)、‘auto
’(浏览器默认)ondrap
:在拖动过程中,鼠标释放时才触发该事件ondragstart
:当用户开始拖动该元素时触发ondragover
:当被拖动的元素被拖动到另一对象的容器范围时触发event.preventDefault()
:避免浏览器对数据的默认处理方式(默认是一链接形式打开的)getElementById()
:可以访问拥有特定id的元素localStorage
:永久保存整个网站的数据,保存在该网站的数据不会消失,需要手动删除sessionStorage
:临时保存整个网站的数据,保存在该网站的数据在关闭该窗口时会自动删除rorate
(旋转)、translate
(移动)、scale
(缩放)、skew
(倾斜)、matrix
(前面几个方法的总和)rorateX
(围绕给定度数的x轴旋转)、rorateY
(围绕给定度数的y轴旋转)transition
:过渡,长宽从…px到…px会在规定的秒数内完成transform
:2D/3D的效果column-count
:需要分割的列数column-gap
:列与列之间的间隙column-rule
:列与列之间的样式写弹窗的三种方法:
.js
文件,将JS代码以链接形式,插入script
标签内。⚠️:在script
标签中不要再写其他代码,虽然写了不会报错,但也不会执行该代码