JQuery JavaScript常用API整理(前端入门必学)

简介: JQuery JavaScript常用API整理(前端入门必学)

现在MVVM框架逐渐占据了主要市场,很多老项目也逐渐的从jQuery转向了MVVM架构!JQuery还有必要学吗? 我的答案是jQuery必须学! JavaScript是基础,JQuery能让DOM操作更方便,哪怕用vue react当操作dom的时候 还是离不开的,只是说可以不用学的那么深。


下面就整理一下我之前工作中用到的一些API

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/jquery-3.5.1.min.js"></script>
</head>
<style>
    .clr_red {
        background-color: red;
    }
</style>
<body>
    <p class="p_clazz" id="p_text"></p>
    <div>
        <div id="div_1">
            000
            <p>11</p>
            <div>
                <p>222</p>
            </div>
            <p>333</p>
        </div>
    </div>
    <button id="button_1" type="button">button1</button>
    <button id="button_2" type="button">button2</button>
    <button id="button_3" type="button">点我触发隐藏</button>
    <button id="button_4" type="button" onclick="btn_click(id)">点我传id</button>
    <div id="div_click_hide">hello world</div>
    <div id="div_dynamic" style="background-color: red; width: 10px;height: 10px;">
    </div>
    <input id="input_1">
</body>
</html>


以这个html为例


1、 获取文件名


function fun_get_filename() {
        var a = "http://www.jb51.net/html/images/logo.gif";
        var b = a.split("/");
        // 截取路径/后最后一个字符串并去除后缀名
        var c = b.slice(b.length - 1, b.length).toString(String).split(".");
        alert("取得的文件名是:" + c.slice(0, 1));
    }


2、判断元素是否包含某个样式


function fun_hasclass() {
        var hasClass = $("#p_text").hasClass("p_clazz"); //返回布尔值
        alert(hasClass)
    }


3、判断元素是否是某个标签


fun_is_element('p');
 function fun_is_element(elementName) {
        return $("#p_text").is(elementName);
    }


4、jquery find end


//用于在元素内查找元素
 function fun_find_and() {
        //$("#div_1").find("p").addClass("clr_red"); //把div的后代元素(后代是子、孙、曾孙,依此类推)添加class
        $("#div_1").find("p").end().addClass("clr_red");  //.end();  //当前结果集的上一个结果集即div_1
    }


5、Math函数


function fun_math() {
        console.log(Math.PI); //圆周率π
        console.log(Math.max(10, 13, 12)); //返回一组数据中最大值
        console.log(Math.min(10, 13, 12)); //返回一组数据中最小值
        console.log(Math.round(12.4)) //四舍五入
        console.log(Math.ceil(12.5)); //向上舍入
        console.log(Math.floor(12.5)); // 向下舍入
        console.log(Math.random()); //获取0-1之间的随机数不包括0和1
    }


6、.click和.on的区别


$(document).on('click', '#button_2', function () {
    //on方法包含很多事件,点击,双击等等事件。和$().click()的用法一样,最大的区别即优点是如果动态创建的元素在该选择器选中范围内是能触发回调函数。
    alert("别点我2");
});
$("#button_1").click(() => {
    //当选中的选择器被点击时触发回调函数fn。只针对与页面已存在的选择器。
    //语法:$(选择器).click(fn)
    alert("别点我");
});


7、定时函数改变div宽度


function fun_change_div_width() {
        setInterval(() => {
            //效果和进度条一样
            $("#div_dynamic").width($("#div_dynamic").width() + 10);
        }, 1000);
    }


8、查找集合中最大的属性值


function fun_list_max() {
        var list = [{ count: 3 }, { count: 15 }, { count: 1 }, { count: -5 }, { count: 10 }]
        var maxObj = Math.max.apply(Math, list.map(function (o) { return o.count }));
        alert(JSON.stringify(maxObj)) //15
    }


9、删除对象属性


function del_obj_property() {
        var obj = {
            name: "小丽",
            age: 15,
            address: "北京人"
        };
        console.log(obj);
        delete obj.address;
        console.log(obj);
    }


10、for in 和for of


for in 循环,不仅可以循环对象,还可以遍历数组, in 为下标值

for of 循环 const item of list 获取的为集合中的每个对象

var list = [{ a: 1, b: 1 }, { a: 2, b: 2 }];
    var obj = { a: 1, b: 1 };
    for (let i in list) {
        console.log(list[i]);
    }
    for (let k in obj) {
        console.log('key:' + k + ',value:' + obj[k]);
    }
    for (let i of list) {
        console.log(i);
    }


11、获取指定范围内随机数


fun_random(1, 10); //取n-m之间的随机整数值
 function fun_random(n, m) {
        for (let i = 0; i < 100; i++) {
            let num = Math.random() * (m - n) + n;
            console.log(Math.floor(num)); //包括n,不包括m
        }
    }


12、删除集合中元素


function fun_list_remove() {
        var list = [];
        for (let i = 0; i < 100; i++) {
            list.push(i);
        }
        console.log(list);
        for (var i = list.length; i >= 0; i--) {
            // 一定要采用倒循环删除,正循环的话每次删除后要给下标-1,否则会存在漏删
            if (list[i] < 10) {
                list.splice(i, 1);
            }
        }
        // 有bug的写法
        // for (let i = 0; i < list.length; i++) {
        //     if (list[i] < 10) {
        //         list.splice(i, 1);
        //     }
        // }
        console.log(list);
    }


13、sessionStorage


//读写session
sessionStorage.setItem('key', sessionData);
sessionStorage.getItem('key')


14、localStorage


/*localStorage本地存储、保存数据:localStorage.setItem(key,value);
读取数据:localStorage.getItem(key);
删除单个数据:localStorage.removeItem(key);
删除所有数据:localStorage.clear();
得到某个索引的key:localStorage.key(index);*/


15、获取url参数


//编码解码 escape()   unescape(),针对特殊字符使用encodeURI    decodeURI
 function getParams(key) {
        //访问http://127.0.0.1:5500/js_example/index.html?name=%E5%BC%A0%E4%B8%89&age=15
        var url = location.search.replace(/^\?/, '').split('&');
        var paramsObj = {};
        for (var i = 0, iLen = url.length; i < iLen; i++) {
            var param = url[i].split('=');
            paramsObj[param[0]] = param[1];
        }
        if (key) {
            return paramsObj[key] || '';
        }
        return paramsObj;
    }


16、回车换行和发送


//回车发送、(ctrl+回车是换行)
    $("#Getevent").keydown(function (event) {
        if (e.keyCode == 13 && e.ctrlKey) {
            // 这里实现换行
            document.getElementById("a").value += "\n";
        } else if (e.keyCode == 13) {
            // 避免回车键换行
            e.preventDefault();
            // 下面写你的发送消息的代码
        }
    });


17、获取时间


//格式为:2022-07-07 13:05:07
    var nowDate = new Date();
    var nowDateStr = nowDate.getFullYear() + '-' + getDate(nowDate.getMonth() + 1) + '-' + getDate(nowDate.getDate()) + ' ' + getDate(nowDate.getHours()) + ':' + getDate(nowDate.getMinutes()) + ':' + getDate(nowDate.getSeconds());
    function getDate(number) {
        number = number + '';
        if (number.length <= 1) {
            return '0' + number;
        } else {
            return number;
        }
    }
    //一行带过:new Date(+new Date()+8*3600*1000).toISOString().replace(/T/g,' ').replace(/\.[\d]{3}Z/,'')


18、大小写转换


let str = "XafgGkL";
console.log(str.toUpperCase()); //字母转大写
console.log(str.toLowerCase()); //字母转小写


19、数组常用方法


/*
    数组: 删除最后一个元素 .pop()  
        .slice(begin,end); 删除从begin开始的元素不包括end;返回被删除的元素,不改变原来的数组
        .concat(arr)  合并两个数组,返回一个新数组,不改变原来的数组
        .join()  默认,来分割数组中的每个元素,返回一个字符串
        .forEach(function(item){})  遍历数组中的每个元素
        .filter(p=>p.id==1 )  筛选元素
        */


20、++和–在左边和右边的区别


++ -- 操作符在变量前边,先进行自身运算,在进行其他运算

操作符在变量后边,先进行其他运算,在进行自身运算


21、string常用方法


/*
string: indexOf('b') 返回第一次出现的位置
        .substr(start,length)从下标为2的位置截取length个 
        .replace(regex||str,newstr||function)  
        .trim()   去除左右空格  
*/


22、选中下拉


$("#sel option[value='xx']").prop("selected",selected);


23、监听元素回车事件


$("#input_1").keyup(function () {
        if (event.keyCode == 13) {
            //这里写你要执行的事件;
            alert("回车了")
        }
    });


24、代码控制元素的显示和隐藏


$(document).on('click', '#button_3', function () {
        $('#div_click_hide').css("display", "none"); //隐藏
        // $('#div_click_hide').css("display", "none");//显示
        //也可以 .remove(); 直接删除元素
    });


25、通过点击事件传递属性


function btn_click(id) {
        console.log(id); //button_4
    }


26、find和filter


ES6 find() 方法返回通过测试函数的第一个元素的值。如果没有值满足测试函数,则返回 undefined。

filter() 方法创建一个包含所有通过测试函数的元素的新数组。如果没有元素满足测试函数,则返回一个空数组。

function fun_find_filter() {
        var list = [{ id: '00001' }, { id: '00002' },{id: '00002'}];
        var nub = list.find(nub => nub.id == "00002");
        console.log(nub);
        var nub1 = list.filter(nub => nub.id == "00002");
        console.log(nub1);
    }


27、map方法


返回集合中某个属性值的集合

function fun_map(){
        var list = [{ id: '00001' }, { id: '00002' },{id: '00002'}];
        console.log(list.map(p=>p.id));
    }


28、Object


var obj = {a:1};
$.isPlainObject(obj); //返回如果指定的参数是纯粹的对象,则返回true,否则返回false。
//设置对象的值不可改变
function fun_defineProperty(){
        Object.defineProperty(obj, "a",{writable:false});//writable:false不能改变属性的值
        obj.a = 2;
        console.log(obj);
    } 
//遍历对象属性
Object.keys(obj).forEach(key => {
    console.log(obj[key]);
});
obj.hasOwnProperty("a"); //判断自身属性是否存在


29、获取元素的属性


常用的有attr和prop,当然还有data


对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。快速,准确。

对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法

如果绑定值是采用data-开头,也可以使用.dataset和.data

$("#chke1").prop("checked"); //这是元素固有属性
$("#chke1").attr("userId"); //这是自定义属性
//元素绑定属性: data-id="xxx"
console.log(element.dataset.id);
console.log(element.data('id'));


一些小常识


js中’', 0, 都为false

&& ||同时存在的话,先运算&&在运算||

ajax:添加 contentType:“application/json“之后,向后台发送数据的格式必须为json字符串,不添加 的时候可以向后台发送json对象形式。

button,<input type=button>按钮区别

当在IE浏览器下面时,button标签按钮,input标签type属性为button的按钮是一样的功能,不会对表单进行任何操作。
但是在W3C浏览器,如Firefox下就需要注意了,button标签按钮会提交表单,而input标签type属性为button不会对表单进行任何操作。
一般写<button id="button_1" type="button">button1</button> 不是表单提交的话,最好把type属性加上


eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。 如果是json格式 key不带双引号,则会转换为对象

相关文章
|
8月前
|
JSON 安全 API
电商API入门问答:开发者必知的10个基础问题
本文详解电商API的10个基础知识,涵盖定义、用途、认证、安全等内容,帮助开发者快速入门并提升开发效率。
216 0
|
8月前
|
缓存 监控 安全
电商API集成入门:从零开始搭建高效接口
在数字化电商时代,API集成成为企业提升效率、实现系统互联的关键。本文从零开始,逐步讲解如何搭建高效、可靠的电商API接口,适合初学者学习。内容涵盖API基础、认证安全、请求处理、性能优化等核心步骤,并提供Python代码示例与数学公式辅助理解。通过实践,读者可掌握构建优质电商API的技巧,提升用户体验与系统性能。
352 0
|
5月前
|
Cloud Native 算法 API
Python API接口实战指南:从入门到精通
🌟蒋星熠Jaxonic,技术宇宙的星际旅人。深耕API开发,以Python为舟,探索RESTful、GraphQL等接口奥秘。擅长requests、aiohttp实战,专注性能优化与架构设计,用代码连接万物,谱写极客诗篇。
1054 1
Python API接口实战指南:从入门到精通
|
11月前
|
JSON 算法 API
一文掌握 1688 商品详情 API 接口:从入门到实战
1688是国内领先的综合电商批发平台,提供海量商品资源。其商品详情API助力开发者与企业获取商品的详细信息(如属性、价格、库存等),广泛应用于电商数据分析、比价系统及采购场景。API支持GET/POST请求,需传入通用参数(app_key、timestamp等)与业务参数(如product_id)。返回JSON格式数据,包含商品标题、价格、图片链接等详情,提升业务效率与决策精准度。
4357 6
|
11月前
|
搜索推荐 API 开发者
京东商品列表 API 接口全解析:从入门到精通
京东商品列表API是京东开放平台为开发者提供的核心数据接口,支持批量获取商品基础信息、价格、库存状态等多维度数据。它具备数据丰富性、灵活筛选与分页查询、稳定高效等特点,可满足市场分析、选品优化、比价工具及推荐系统开发等需求,为电商业务创新提供坚实支撑。通过标准化通道,助力第三方高效、合法地利用京东海量商品数据。
|
10月前
|
JSON API 开发工具
电商API接口入门指南
本文介绍了API的基础知识及其在电商领域的实际应用。首先,阐释了API的概念、运作机制及参数与返回值的作用,帮助读者理解如何通过API实现软件间的交互。接着,以获取电商商品列表为例,详细讲解了从选择平台、引入SDK到编写代码调用API的全流程。示例代码采用Python语言,利用requests库发送请求并解析JSON数据,为开发者提供了清晰的实践指导。
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
642 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
11月前
|
JavaScript 前端开发 API
|
10月前
|
数据挖掘 API 开发者
京东商品详情 API 接口全攻略:从入门到精通
京东商品详情API接口是京东开放平台为开发者提供的服务,用于获取商品详细信息。通过调用接口,开发者可获得商品属性、价格、库存、促销信息等数据,适用于电商应用、价格比较工具及数据分析平台等场景。支持GET/POST请求方式,参数包括API版本、密钥等。示例代码展示了如何使用Python的requests库调用该接口,并获取JSON格式的返回数据,包含商品基本信息、价格、库存和用户评价等内容。
408 16
|
8月前
|
存储 安全 API
亚马逊SP-API入门:海外电商接口调用与国内平台的差异化
亚马逊 SP-API 与国内电商 API 在技术架构、安全机制及开发流程上差异显著。本文对比京东、淘宝等平台,分析接口设计、地域适配、权限管理等核心差异,并结合实战经验提供开发建议,助力开发者高效接入 SP-API,实现全球电商业务拓展。

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    883
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    403
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    305
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    278
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    401
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    586
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    632
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    193
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    543
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    347