javascript 基础

该博客围绕JavaScript基础展开,介绍了数据类型,如特殊的Number类型值NaN。还阐述了字符串、数组常用方法,以及Math、Date对象等知识。此外,涉及函数、定时器,包括setInterval和setTimeout,同时提及BOM、DOM操作,如查找节点、节点操作和事件等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据类型

        number     -----  数值
        boolean    -----  布尔值
        string     -----  字符串
        undefined  -----  undefined
        null       -----   null  
        object ----------- 数组 new Array() 对象 {}

 

注意:

var bResult = "25" < 3;
alert(bResult); //输出 "false"

NaN:
var d="yuan"; d=+d; alert(d);//NaN:属于Number类型的一个特殊值,当遇到将字符串转成数字无效时,就会得到一个NaN数据 alert(typeof(d));//Number

字符串常用方法

x.length         ----获取字符串的长度
x.toLowerCase()        ----转为小写
x.toUpperCase()        ----转为大写
x.trim()               ----去除字符串两边空格       
x.charAt(index)         ----单个字符,获取指定位置字符,其中index为要获取的字符索引
x.indexOf(findstr,index)----查询字符串位置 获得第一个找到的位置索引返回
x.lastIndexOf(findstr)  
x.slice(start, end)     ----切片操作字符串
x.replace(findstr,tostr) ----    字符串替换
x.split();                 ----分割字符串

数组

创建方式 1
var arr1=[1,2,3,4,5,6]
创建方式 2
var arr1= new Array(1,2,3,4,5,6)
创建方式 3 
var arr1=new Array(10)

//********************************
常用方法
1  concat [1,2].concat(1,2)-----[1,2,1,2]     concat [1,2].concat([1,2])-----[1,2,1,2]
   concat [1,2].concat([[1,2]])-----[1,2,[1,2]]  二维数组
2 join("")------- 按指定字符串拼接 [1,2].join()-----> "1,2"   [1,2,3].join("+")----->1+2+3
3 reverse 反转数组  [1,2,3,1].reverse()-------->[1,3,2,1]
4 sort  给数组排序 [22,33,4,8,2,7].sort()------>[2, 22, 33, 4, 7, 8] 这默认是按第一位排序
我们想要排序需要写个函数 例如: return a-b   如果a-b 升序 b-a 降序
[22,33,4,8,2,7].sort(function(a,b){return a-b})-------->[2, 4, 7, 8, 22, 33] 
5 slice(start,end)--------->与字符串差不多 
可以拷贝数组 并不是同一个地址哦
方式 一:
var arr1=[1,2,3]
var arr2=arr1.slice()
arr1[0]=999
arr1 -------- [999, 2, 3]   
arr2 -------- [1, 2, 3]
方式 二:
arr3=arr1.slice(0,arr1.length)

6 splice(start, deleteCount, value, ...)--------具有增删改的功能强大,会修改原数组并返回删除的值

7 push ------ 在数组的最后添加一个元素 , 类似于python的 append    (压栈)
8 pop  -------  弹出数组的最后一个元素                            (弹栈)
9 shift ------- 删除数组的第一个元素
10 unshift ------ 在数组的头添加元素
11 indexof -------- 与字符操作类似

Math对象

abs(x)    返回数的绝对值。
exp(x)    返回 e 的指数。
floor(x)对数进行下舍入。
log(x)    返回数的自然对数(底为e)。
max(x,y)    返回 x 和 y 中的最高值。
min(x,y)    返回 x 和 y 中的最低值。
pow(x,y)    返回 x 的 y 次幂。
random()    返回 0 ~ 1 之间的随机数。
round(x)    把数四舍五入为最接近的整数。
sin(x)    返回数的正弦。
sqrt(x)    返回数的平方根。
tan(x)    返回角的正切。

Date对象

getDate()                 获取日
getDay ()                 获取星期
getMonth ()               获取月(0-11)
getFullYear ()            获取完整年份(推荐使用)
getYear ()                获取年
getHours ()               获取小时
getMinutes ()             获取分钟
getSeconds ()             获取秒
getMilliseconds ()        获取毫秒
getTime ()                返回累计毫秒数(从1970/1/1午夜)(时间戳)

函数

// 定义一个函数
function fun(a,b){
    return a+b
}
// 匿名函数
var fun2 = function(){
				console.log(1)
			}
			fun2()
// 自运行函数/自执行函数
(function(){
		console.log(2)
})()
// 函数嵌套
function f1(){
    console.log('f1');			
		function f2(){
	    	console.log('f2');
	}
	return f2;
}
f1()()  // 相当于f2()
// 传参
var f6 = (function (a){
	console.log('f5, a=' + a);			
	return function(b){
		console.log('f6, b=' + b);
	}
})(10)	
f6(20)

// 构造函数  创建类的东西
function MyClass(Object){
    this.name='alex'
    this.age=18
}
// 实例化对象
m1 = new MyClass();
m1.age ------>18

 

 

定时器

 

 var timer = setInterval( function(){},1000);

# 一次性

var timer = setTimeout( function(){},1000);

     clearInterval(timer);

 

 

 

BOM

 

 

DOM

查找节点

       getElementById():  获取特定ID元素的节点对象(返回一个对象)
       getElementsByTagName():  获取指定标签名的节点列表(返回一个数组)
       getElementsByName():  获取相同name属性值的节点列表(返回一个数组)
       getElementsByClassName()


// 节点属性
tagName 标签名
innerHTML 节点内容
className  class的值
style   css 样式对象
children 所有的子元素节点
value  input 的value

this:表示当前操作对象

节点操作

createElement()创建一个元素节点
appendChildren()追加一个子节点
createTextNode()创建一个文本节点

insertBefore()将新节点插入到某个节点中
replaceChild() 节点的替换  (new node , old node)

cloneNode()节点的克隆
removeChild()删除节点

事件

鼠标事件


onclick() 
dbclick()
onmousedown()
onmouseup()
onmousemove()
onmouseleave()
onmouseenter()

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值