JS基础

作者: 山猪打不过家猪 | 来源:发表于2022-10-30 12:53 被阅读0次
image.png

1. JS基础

1.1 声明变量
  • 声明变量
var name ='卡卡卡西';
var adress = '新市毒窝';
var age  = 44;
  • 同时声明多个变量
function showQx(){
    var name ='FXX',
        adress = '岗贝毒窝',
        age = 19,
        info;
    alert(info);
}
>>>
undefined
1.2一些方法
  • isNaN 是数字返回false不是返回true
function showQx(){
    alert(isNaN(12)); //fasle
    alert(isNaN('fxx')); //true
}
  • 字符串拼接
function showQx(){
    var name = 'fxx';
    var age = 19;
    alert('我的名字是:fxx'+name+' ,我的年龄是:'+age+'!'); //fasle
}
  • undefined和数字相加返回NaN,和字符串相加把他看成一个字符串
function showQx(){
    var name = undefined;
    var age = 19;
    alert(age+name); //NaN
    alert('fxx'+name) //fxxundefined
}

  • null和数字相加返回原来的数字,和字符串相加把他看成一个字符串
function showQx(){
    var name = null;
    var age = 19;
    alert(age+name); //19
    alert('fxx'+name) //fxxnull
}
  • typeof检测数据类型
function showQx(){
    var name = undefined;
    var age = 19;
    alert(typeof name); //undefined
    alert(typeof age) //number
}
  • 其他类型转为数字类型parseInt()
function showQx(){
    alert(parseInt(3.14)); //3 取整
    alert(parseInt('120px')); //120 取整
    alert(parseInt('e120px')); //NaN
}
  • 其他类型转为数字类型parseFloat()
function showQx(){
    alert(parseInt(3.14)); //3.14
}
  • 转为布尔值


    image.png
1.3 三元表达式

条件表达式?表达式1(真):表达式2(假)

function showXQ(){
    var a = 4;
    var b = a>3?a*5:a-1;
    alert(b)
}
1.4 switch
image.png
function showXQ(){
    var a = prompt('请输出你要的数字:');
    switch(parseInt(a)){
        case 1:
            alert('这是1');
            break;
        case 2:
            alert('这是2');
            break; 
    }
}

2.数组

2.1 声明数组
var a = new Array();
var b = [1,2,3,4,5];
2.2数组遍历
function showXQ(){
    var b = [1,2,3,4,5];
    for(var i = 0; i<b.length;i++){
        alert(b[i]);
    }
}
2.3 数组添加元素
function showXQ(){
    var b = [1,2,3,4,5];
    alert(b);
    b[b.length+1] = '直接加一个';
    alert(b);
    b.push('最后一个啦')
    alert(b);
}
2.4 数组转为字符串
var b = [1,2,3,4,5];
b.join(' ');

3.方法

3.1 传参
function showXQ(a,b ){
    alert(a+b);
}

showXQ(1,2); //3
showXQ(1,2,3); //3
showXQ(1); //NaN
3.2 函数返回值
  • 如果一个函数没有return的话,他返回的值是undefined
3.3 arguments

arguments是内置函数,存储了所有的传参,它是一个伪数组,没有真正数组的一些方法。

function showXQ( ){
  for(var i=0;i<arguments.length;i++){
    alert(arguments[i]);
  }
}
showXQ(1,2,3,4,5);
3.4 用方法名当参数
function showXQ(){
    alert('我是showXQ');
}

function b(a){
    a();
}
b(showXQ);
3.5 方法的两种生命方式
function a(){
    alert('我是a');
}

var b = function(){
    return 12;
}

a();
alert(b); //返回的是函数体
alert(b()); //返回的调用后的返回值
3.6 全局变量
var num = 12; //全局变量
function a(){
    alert(num); 
    a = 100;  //在函数内部,直接赋值,也是全局变量
}

a();
alert(a);
  • 全局变量会在浏览器关闭时候销毁
  • 局部变量在程序执行完毕时销毁
3.7 预解析

会将所有变量提升到,函数最前面;

  • 报错
console.log(num); //报错
  • 返回undefined
console.log(num); //undefined
var num = 10;

相当于

var num;
console.log(num);
num =10;
  • 调用成功
a();
function a(){
    alert('我是a')
}
  • 报错
fun();
var fun = function a(){
    alert('我是a')
}

预解析相当于

var fun;
fun(); //调用一个值类型,直接报错;
fun  = function(){
    alert('我是a')
}

4.对象

4.1创建对象的3种方式
//1.关键字创建
var Person = {
    uname:'fxx',
    age:18,
    adress:'石井毒窝',
    sayHi: function(){
        alert('我住在石井毒窝');
    }
};

alert(Person.adress);
Person.sayHi();

//2.new object创建
var Person = new Object();
Person.uname = 'fxx';
Person.age =19;
Person.sayHi = function (){
    alert('我来自石井毒窝')
}
Person.sayHi();

//3.利用构造函数创建对象
function Person(uname,age){
    this.uname = uname;
    this.age =age;
    this.sayHi = function(){
        alert(this.uname+'在石井毒窝')
    }
}

var fxx = new Person('fxx',18);
alert(fxx.uname);
fxx.sayHi();
4.2遍历对象
var fxx = new Person('fxx',18);

for(var k in fxx){
    alert(k);//k 是属性名
    alert(fxx[k]) //obj[k] 得到值
}

5.内置对象

5.1常用内置对象
Math
image.png
random()随机数
image.png
Date
image.png
image.png
  • 格式化日期


    image.png
  • 获取时间戳


    image.png
  • 倒计时


    image.png
数组方法
  • 检测是否为数组
//1
var arr = [];
var obj = {}
console.log(arr instanceof Array);
//2
console.log(Array.isArray(arr));
  • push()给数组末尾添加元素
    返回值是新数组的长度
var arr1= [1,2,3];
arr1.push('fxx',18);
alert(arr1)
  • pop()从数组末尾删除元素,一次一个
    返回值是删除的数组值
  • reserver()反转数组
var arr1= [1,2,3];
alert(arr1.reverse())
  • sort() 数组排序
var arr1= [13,4,77,1];
arr1.sort(function(a,b){
    return a-b //升序
    //return b-a //降序 
});
alert(arr1)

  • indexOf()返回元素位置
  • 数组转为字符串
var arr1= [13,4,77,1];
arr1.sort(function(a,b){
    return a-b 
});
alert(arr1.toString())
alert(arr1.join('-'))

字符串方法
  • indexOf()返回字符串的位置,没有返回-1
var a = 'abcdefg';
alert(a.indexOf('f'))
  • 根据位置返回字符
var a = 'abcdefg';
//alert(a.charAt(3))
//alert(a[0])

//遍历所有字符
for(var i =0;i<a.length;i++){
    alert(a.charAt(i))
}
  • substr()截取字符串
var a = 'abcdefg';
alert(a.substring(0,2))//第一个0是索引号,第二个2是取的字符个数
>>>
ab
  • replace()替换字符串
var a = 'abcdefg';
alert(a.replace('abc',123))
  • split()字符串转为数组
var a = 'a-b-c-d';
alert(a.split('-'))
>>>
['a','b','c','d']

相关文章

  • React-Native 随笔

    学习基础: js的基础知识, rect.js基础 JSX语法基础 FlexBox布局 安装 安装node.js下载...

  • 最新web前端相关课程学习链接

    js基础篇 js进阶篇 js高级篇 vue基础篇 vue高级篇 react基础 react高级 Nodejs基础 ...

  • web前端 -- Day23 js高级

    js基础 JavaScript简称:JS JS分三个部分: ECMAScript标准---基础的语法 DOM D...

  • 前端JavaScript面试技巧

    1-1 课程概述 要做什么?——讲解前端 JS 基础面试题 哪些部分?——JS 基础,JS-WEB-API,JS ...

  • 4/07day28_js基础

    day28_js基础 回顾 JS基础语法 JS运算符 JS流程控制语句 条件语句 JS的条件语句和Java语法基本...

  • 2018-12-20

    1.01.尚硅谷_JS基础_JS简介(1) 10.10.尚硅谷_JS基础_Null和Undefined(10) 1...

  • JS基础和WebAPIs的关联性

    学习ECMAscript标准规定的基本语法掌握JS基础语法只学习JS基础做不了网页交互效果学习JS基础语法是为了后...

  • 2019-07-27 前端面试题

    1.js的基础类型 js的基础类型包括 Undefined , Null , String ,Number ,...

  • 网络编程(十九) JavaScript(9)

    一、 JS的组成 1.1 JS基础阶段以及Web APIs阶段 【1】JS基础阶段 我们学习的生死ECMAScri...

  • 发现•分享—2019-01-17

    文章 JS JS 异步编程六种方案 JS基础—原型对象的那些事(一) JS基础—原型对象的那些事(二) CSS 综...

网友评论

      本文标题:JS基础

      本文链接:https://www.haomeiwen.com/subject/wlaktdtx.html