
js
加鸡腿
此人不懒,仍然什么都没有写
展开
-
js 两个数组对比,去除相同项得到新数组
数组原创 2022-10-24 17:33:12 · 764 阅读 · 0 评论 -
JSON.parse()使用时报错:Uncaught SyntaxError: Unexpected token u in JSON at position 0
JSON.parse()使用时报错:Uncaught SyntaxError: Unexpected token u in JSON at position 0原因:JSON.parse解析了undefined传入的参数不是一个合格的json字符串解决:parse解析前先判断,值不为undefined,才能进行JSON.parse找找自己传入的数据,是不是缺东西...原创 2021-06-30 14:36:54 · 1864 阅读 · 0 评论 -
后台返回的时间在秒后面还多一个.0(解决办法)
问题:后台返回的时间为:2020-01-01 12:09:54.0在页面上使用格式化format('YYYY-MM-DD HH:mm:ss')报错,报错信息为:Error:[ngModel:nonassign]Expression 'model.editTime | dateformat: 'YYYY-MM-DD HH:mm:ss'' is non-assignable.翻译出来为:表达式不可赋值网上找了没找到办法,看代码加上问后端同事发现问题在于:返回的时间为字符串格式,自然不能用时间格式化的原创 2020-11-05 16:10:57 · 2914 阅读 · 0 评论 -
js面试题(1)
题目:把已知已有字符串'get-element-by-id'写一个function将其转化为驼峰表示法'getElementById'思路:先把字符串分割为数组---->遍历把首字母转为大写---->把数组转为字符串---->封装为函数,调用代码实现:step1. 实现var str = 'get-element-by-id';var arr = str.split('-');for (var i = 1; i < arr.length; i++) { arr[原创 2020-11-02 16:46:32 · 164 阅读 · 0 评论 -
值类型引用类型的传递
一、值类型的传递var num1 = 55;var num2 = 66;function fn(num, num1) { num = 100; num1 = 100; num2 = 100; console.log('num:' + num); console.log('num1:' + num1); console.log('num2:' + num2);}fn(num1, num2);console.log(num1);console.log(num2);cons原创 2020-11-02 13:59:01 · 84 阅读 · 0 评论 -
js遍历对象去除空格
作为表单提交内容时,有时多一个空格会导致结果有误差,所以需要在提交时候把空格全部去掉,操作如下:代码:var obj = { name:' Jack ', sex:' male ', color:'pink'}console.log(JSON.stringify(obj));for (var i in obj) { obj[i] = obj[i].trim();}console.log(JSON.stringify(obj));打印台内容:...原创 2020-10-26 14:37:42 · 2245 阅读 · 1 评论 -
瀑布流效果展示图片的实现(小demo)
代码展示:首先html页面中需要先在head中引入以下文件:<link rel="stylesheet" href="flow.css"><script src="https://cdn.bootcss.com/jquery/3.4.0/jquery.min.js"></script><script src="flow.js"></script>html页面:<div class="masonry"> <di转载 2020-09-30 15:41:36 · 1074 阅读 · 0 评论 -
getElementById拿到的是什么?
例子说明:<div id="app">发发发发发发发发</div><script> var a = document.getElementById('app'); var b = document.getElementById('app').innerText; console.log(a); console.log(b);</script>打印结果:...原创 2020-09-29 13:55:08 · 501 阅读 · 0 评论 -
简单的表单验证
简单的表单验证实现的效果:实现的功能有:多选框必须有选中内容;密码长度规定‘两次密码输入一致性监测;文本域内需要有值;代码实现如下: <h1>验证表单的案例</h1> <form name="form1" id="f1" action="../TestForm" method="get"> 姓名:<input type="text" name="userName" id="uName"> <转载 2020-09-27 17:15:42 · 378 阅读 · 0 评论 -
数组的filter用法
数组过滤用filter函数var datas = [ { "name": "商品房", "code": "11" }, { "name": "商铺", "code": "12" }]var data = datas.filter(function (item) { return item.name == '商品房';})console.log(data); // [{name: "商铺", co原创 2020-09-27 16:46:34 · 814 阅读 · 0 评论 -
原生js实现点击按钮跳转外链
效果如下:代码实现:<button>跳转到百度</button><script> document.querySelector('button').addEventListener('click',function(){ window.open('http://www.baidu.com','_blank'); })</script>原创 2020-09-27 15:03:11 · 1551 阅读 · 0 评论 -
“jQuery/$ is not defined” 解决办法,非常简单
方法1:路径错误检查文件路径是否正确方法2:引用顺序错误必须先引用jquery-1.4.1.js(或其他版本)文件,再引用其他js插件的文件方法3:js冲突a、var jq = $.noConflict();b、var jq = jQuery.noConflict();c、var jq = jQuery.noConflict(true);参考:“jQuery/$ is not defined” 解决方法...转载 2020-08-20 16:50:22 · 1781 阅读 · 0 评论 -
angular的input上传文件的anchange事件失效
失效的代码:<input type="file" multiple="multiple" id="file" name="files" onchange="fileNameChanged()" />修改后有效的代码:<input type="file" multiple="multiple" id="file" name="files" onchange="angular.element(this).scope().fileNameChanged()" />原创 2020-08-20 16:46:41 · 465 阅读 · 0 评论 -
angular的input上传多个文件时显示文件名
在input标签中加入 multiple 属性,可以在一个输入框中选择多个文件进行上传<input type="file" multiple="multiple" id="file" name="files" onchange="angular.element(this).scope().fileNameChanged()" />注意1: 如果使用οnchange="fileNameChanged()"时候,触发不了onchange事件,那么就修改为上面的样子。注意2: input自带的原创 2020-08-20 16:42:33 · 1152 阅读 · 0 评论 -
节流阀的使用
submit() { let flag = true; if (flag) { if (apps.length === 0) { flag = false; // 弹出报错信息 } } if (flag) { // 提交操作即可 }}原创 2020-07-06 14:28:05 · 588 阅读 · 0 评论 -
es6 filter() 数组过滤方法总结
创建一个数组,判断数组中是否存在某个值var newarr = [ { num: 1, val: 'ceshi', flag: 'aa' }, { num: 2, val: 'ceshi2', flag: 'aa2' }]console.log(newarr.filter(item => item.num === 2))也可以通过上面方法过滤掉num为2的,留下num为1的var newarr = [ { num: 1, val: 'ceshi', flag.转载 2020-06-11 23:05:40 · 815 阅读 · 0 评论 -
数组filter过滤的使用
把数组中大于4000的筛选出来var arr = [ { num: 1, name: 'yi', money: 1000 }, { num: 2, name: 'er', money: 2000 }, { num: 3, name: 'san', money: 5000 }, { num: 4, name: 'si', money: 8000 }, { num: 5, name: 'wu', money: 4000 }]console.log(arr.filte原创 2020-06-11 22:55:46 · 631 阅读 · 0 评论 -
js实现点击button新开一个页面
点击button实现target=_blank,新开一个页面<button @click="goPage('https://www.baidu.com')">点我到百度</button>goPage(url) { window.open(url, '_blank') }原创 2020-05-13 22:43:13 · 1952 阅读 · 0 评论 -
js判断字符长度(包括中文英文和数字)
先上代码:function strCode(str) { //获取字符串的字节数 var count = 0; //初始化字节数递加变量并获取字符串参数的字符个数 if (str) { //如果存在字符串,则执行 len = str.length; for (var i = 0; i < len; i++) { //遍历字符串,枚举每个字符 if (str.charCodeAt(i) > 255) { //字符转载 2020-05-13 00:19:05 · 12642 阅读 · 0 评论 -
把一个字符串处理为数组
原来的字符串如下:“[啊啊啊啊,是生生世世,呃呃呃呃呃,人人人人]”需要处理为数组,如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ini...原创 2020-04-01 14:08:43 · 676 阅读 · 0 评论 -
js去掉字符串第一位和最后一位
原来的字符串:“[啊啊啊啊,是生生世世,呃呃呃呃呃,人人人人]”需要去掉最前面和最后面的中括号,处理如下:str = "[啊啊啊啊,是生生世世,呃呃呃呃呃,人人人人]";var str1 = str.substr(1); //删除首字符var str2 = str1.substring(0,str1.length-1); //删除最后末字符打印出来的str1如下:打印出来的str...原创 2020-04-01 11:40:50 · 24600 阅读 · 0 评论 -
js对输入的字符串第一个字母转为大写
对输入的字符串第一个字母转为大写。解答:var as = 'hello';var bs = as.charAt(0); console.log(bs); // hvar cs = bs.toUpperCase();console.log(cs); // Hvar ds = cs + as.slice(1);console.log(ds); // Hello复习js的三个方法...原创 2019-10-24 17:05:17 · 6703 阅读 · 1 评论 -
angularJs点击获得当前dom节点
在点击事件中传入$event参数,使用时候用$event.target获取到dom对象 <input id="sub" type="checkbox" ng-model="item.isSelected" value="sub" name="sub" ng-click="selectedApp($event, item.isSelected)" />$scope....原创 2019-10-24 09:25:25 · 1021 阅读 · 0 评论 -
js实现字符串反转
要求:输入一串字符“hello”,对字符串反转。解答:var as = 'hello';var bs = as.split('').reverse().join('');console.log(bs);打印结果:复习js的三个方法:JavaScript split() 方法split() 方法用于把一个字符串分割成字符串数组。var aa = '2:3:4:5'co...原创 2019-10-23 15:41:52 · 1057 阅读 · 0 评论 -
JS实现数组去重及数组内对象去重(es5和es6)
写项目的时候一定遇到过这种逻辑需求,就是给一个数组进行去重处理,还有一种就是给数组内的对象根据某一个属性,比如id,进行去重,下面的两个函数,都是可以达到这个效果的,一个是纯ES5的去重办法,一个是用了ES6的 Array.from(new Set())和ES5的reduce来进行去重。下面先定义两个数组:var arr = [3,5,1,1,4,5,3,true,'test','test']...转载 2019-07-16 09:47:49 · 1532 阅读 · 1 评论 -
js面试题(3)
var a = 1;a.plu = 2;console.log(a.plu + a);var s = 'hello';s.plu = 'world';console.log(s.plu + s);打印结果:NaNundefinedhello解析:基础数据类型不能使用这种形式赋值,基本数据类型的值是存在栈内的,是不可修改的,比如说打印a.plu,打印出来的结果是undefi...原创 2019-07-11 17:54:11 · 140 阅读 · 0 评论 -
typeof与instanceof的区别和用法
一、typeoftypeof 操作符返回一个字符串,表示未经计算的操作数的类型。console.log(typeof 3.14); //numberconsole.log(typeof Math.LN2); //numberconsole.log(typeof Infinity); //numberconsole.log(typeof NaN); // number NaN是"Not-...转载 2019-07-15 11:40:30 · 424 阅读 · 0 评论 -
Angularjs的$http方法的success和then的区别
要将区别先弄清$http服务,它是对原生XMLHttpRequest对象的简单封装,是只能接受一个参数的方法,这个方法会返回一个promise对象,具有sccess和error两个方法。当然,我们也可以在响应返回时用then方法来处理,会得到一个特殊的参数,代表了对象的成功或失败信息,或者可以使用success和error回调代替。这样就很明晰了,then方法和success方法的主要区别就是,...转载 2019-07-15 10:33:17 · 2291 阅读 · 0 评论 -
arr.map()的使用
一、概念map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。二、语法var new_array = arr.map(function callback(currentValue[, index[, array]]) { // Return element for new_array }[, thisArg])参数:callback 生成...转载 2019-07-12 17:40:12 · 19536 阅读 · 0 评论 -
获取今天的星期数
var a = new Date(); console.log(a); console.log(a.getDay());打印结果: function returnWeekday() { return "今天是星期" + "日一二三四五六".charAt(new Date().get...原创 2019-06-19 20:55:33 · 282 阅读 · 0 评论 -
str.indexOf()的用法
定义indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。语法stringObject.indexOf(searchvalue,fromindex)参数描述searchvalue必需。规定需检索的字符串值。fromindex可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。...原创 2019-07-16 11:34:25 · 21087 阅读 · 0 评论 -
全局变量、局部变量(js面试题4)
题1.var f = 1;if (!f) { var a = 10;}function fn() { var b = 20; c = 30;}fn();console.log(a); console.log(c); console.log(b); 打印结果:解析:1、没有用var声明的是全局变量,即便在函数内部;2、只有在function内部新...原创 2019-07-16 11:49:20 · 410 阅读 · 0 评论 -
JavaScript substr()
定义substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。 语法stringObject.substr(start,length)参数描述start必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。le...转载 2019-07-16 13:49:13 · 259 阅读 · 0 评论 -
快速过滤数组中的假值
compact使用Boolean过滤数组中的所有假值我们知道JS中有一些假值: false, null, 0, “”, undefined, NaN,怎样把数组中的假值快速过滤呢,可以使用Boolean构造函数来进行一次转换compact =arr =>arr.filter ( Boolean )cons...转载 2019-07-16 14:11:19 · 361 阅读 · 0 评论 -
input框的一系列操作(输入框必填*号,验证单选框为必选,默认选中单选按钮,点击禁用表单输入域,输入框变为只读)
例① :输入框必填,用*号提示<p class="form-group"> <label for="author">姓名</label> <span class="required" style="color:red">*</span> <br> <input type="text" id="a...原创 2019-07-16 15:21:50 · 23300 阅读 · 0 评论 -
js面试题(4)
如何才能打印出"Amy" ?var a = function () { function b() { this.name = 'Amy' } return b}var c = a()console.log(c);var d = new c()console.log(d);console.log(d.name)打印结果:或者:...原创 2019-08-12 11:20:14 · 117 阅读 · 0 评论 -
js添加、修改、删除对象的属性和方法
在其他语言中,对象一旦生成,就不可更改,要为一个对象添加修改成员必须要在对应的类中修改,并重新实例化,而且程序必须经过重新编译。JavaScript 中却非如此,它提供了灵活的机制来修改对象的行为,可以动态添加、修改、删除属性和方法。例如首先使用类Object来创建一个空对象user:var user = new Object();1.添加属性这时user对象没有任何属性和方法,可以为...转载 2019-08-12 14:30:24 · 1814 阅读 · 0 评论 -
js删除对象中的某一属性(delete)
通过delete操作符, 可以实现对对象属性的删除操作, 返回值是布尔值var obj = { name: 'Amy', age: 10}delete obj.name console.log(typeof obj.name); //undefinedconsole.log( delete obj.name); // true可以删除其他东西1.删除变量var...转载 2019-08-12 16:05:20 · 1565 阅读 · 0 评论 -
forEach遍历
遍历数组例一:var arr = [1, 2, 3, 4];arr.forEach(alert);结果:页面会依次弹出1、2、3、4例二: var arr1 = ['xxx', 'yyy', 'zzz', 'hhh']; var arr2 = []; arr1.forEach(function (item, index, bbb) { ...原创 2019-03-24 00:58:09 · 7638 阅读 · 2 评论