前端碎片小知识点
say个嗨呀
保持自己代码正常运行是一个程序员最基本的义务也是最崇高的责任
展开
-
重学localStorage、SessionStorage方法使用梳理
注意:存储的数据为对象时需要用JSON.stringify转换下,如果不转换对象会被默认调用tostring方法会返回[object,object]c.xxxxStorage.getItem(xxx)如果xxx对应的value获取不到,那么getItem的返回值是null;该方法接受一个键和值作为参数,会把键值对添加到存储中,如果键名存在,则更新对应的值;该方法接受一个键和值作为参数,并把键名从存储中删除;该方法接受一个键和值作为参数 ,返回键名对应的值;该方法会清空存储中的所有数据;原创 2023-02-14 15:41:56 · 210 阅读 · 0 评论 -
关于本地开发浏览器跨域问题解决方案
在开发阶段调接口会产生跨域的影响,这里给大家提供一个最直接方案不用去写代码,轻松搞定开发阶段跨域问题;以谷歌浏览器为例,给浏览器设置非安全开发模式:点击浏览器属性:改变目标里的文件路径具体路径修改具体代码如下:(浏览器可跨域访问)"C:\ProgramFiles\Google\Chrome\Application\chrome.exe"--disable-web-security--user-data-dir=D:\MyChromeDevUserData注:路径的标点符号不能少...原创 2021-04-20 10:57:08 · 556 阅读 · 0 评论 -
写一个函数功能是告知你所选定的小动物叫声代码实例
funtion scream (animal){ switch(animal){ case "dog":document.write("dog");return; case "cat":document.write("cat");return;}}原创 2020-12-14 16:29:46 · 574 阅读 · 0 评论 -
写一个函数实现加法计数器实例
var result = 0;function sum () { for( var i =0; i< arquments.legth; i++){result += aquments[i];}document.write(result);}sum();原创 2020-12-14 16:29:08 · 725 阅读 · 1 评论 -
定义一个函数输入数字,逆转输入汉字形式
function reverse() { var num window.prompt("input") var str = " ";for (var i = num.length-1; i > 0; i--){ str += transfer(num[i])}document.write(str);}function trasfer(target) {switch (target){ case "1" : return "一"; c...原创 2020-12-14 16:28:54 · 304 阅读 · 0 评论 -
写一个函数实现N的阶乘实例
function jc(n){ if (n == 1){ return 1;}return n* jc(n-1);}注意:负数没有阶乘用递归求阶乘原创 2020-12-14 16:28:25 · 2399 阅读 · 0 评论 -
打印出100以内的质数实例
方法一:var count = 0;for( var i = 1 ; i< 100; i++){ for (var j = 1; j< = i; j++){ if (i / j == 0){ count ++;}}if (conut == 2){document.write(i+ " " );}count =0;}方法二:var count = 0;for( var i = 2; i< 100; i++){ ...原创 2020-12-14 16:26:59 · 550 阅读 · 1 评论 -
用函数实现斐波那契数列实例
用递归解先找规律f b(n) = fb(n-1) + fb(n-2);找出口n = 1 时或 n = 2时 == 1function fb(n){ if ( n == 1 || n == 2){return 1;}return fb(n-1) + fb(n -2);}原创 2020-12-14 16:25:47 · 2034 阅读 · 0 评论 -
递归规律总结
找规律 找出口(已知条件,不然死循环)好处:只有一条好处,把代码变少,规律:先执行的最后被执行完毕原创 2020-12-14 16:25:01 · 268 阅读 · 0 评论 -
预编译详解
j s三部曲:1、语法分析(通篇扫描看有没有错误,不执行)2、预编译3、解释执行暗示全局变量未经声明的变量就赋值则贵window所有全局上声明的变量也是window属性window就是全局的域 window就是全局预编译四部曲(函数预编译)1、创建AO对象(Action Object),执行上下文;2、找形参和变量声明,将变量和形参作为AO属性名,值为undefined;3、将实参值和形参统一;4、在函数体里找函数声明,值赋予函数体(权限最高)注:预编原创 2020-12-14 16:24:21 · 197 阅读 · 0 评论 -
立即执行函数详解
作用:针对初始化功能的函数;只执行一次就销毁;(function() {} ())立即执行函数有函数的一切功能只是执行完就销毁;立即执行函数两种写法(function() {} ())(function (){})()只有表达式才能被执行符号执行也就是说函数声明的函数不能用立即执行函数被执行符号执行的表达式就会被忽略表达式的函数名...原创 2020-12-14 16:23:17 · 299 阅读 · 0 评论 -
预编译经典例子
例子一:function bar() { return foo; 这里return foo == console.log(foo); foo =10; function foo () {}var foo =11;}console.log(bar());例子二:console.log(bar());function bar(){ foo = 10;function foo() {}var foo = 11return foo;...原创 2020-12-14 16:22:23 · 158 阅读 · 0 评论 -
输入a b c 三个数字打印出最大的代码实例
var a = parseInt(window.Prompt("input));var b = parseInt(window.Prompt("input));var c= parseInt(window.Prompt("input));if (a > b){ if(a > c){ document.write(a);} else { document.write(c);} else { if (b > c){ document....原创 2021-03-17 14:56:40 · 204 阅读 · 0 评论 -
著名的斐波那契数列
1 1 2 3 5 8 输出第n 项var n = parseInt(window.prompt("imput"));var first = 1; second = 1; third;if (n > 2) { for(var i = 0; i< n-2;i++){ third = first + second ; first = second; second = third;docunment.write(...原创 2020-12-13 04:57:45 · 354 阅读 · 0 评论 -
计算n的阶乘 n可输入
var n parseInt(window.prompt("input));var mul = 1;for (var i = 1; i< = n; i++){ mul * = i;}document.write(mul);原创 2020-12-13 04:50:36 · 406 阅读 · 0 评论 -
计算2的N次幂n 可输入,n为自然数
var n = parseInt(window.prompt('input'));var mul = 1;for (var i = 0; i< n ; i++){ mul * 2; (mul = mul* 2, n是循环圈数)}document.write(mul);原创 2020-12-13 04:44:43 · 403 阅读 · 0 评论 -
用闭包可做缓存实例
funtion test () { var food = "apple"; var obj = { eatFood : function () { if (food != " "){ console.log("www");} else { cosole.log ("222")}}pushFood :function (myFood){ food = myFood;}}return obj;}var Person =...原创 2020-12-13 04:37:57 · 236 阅读 · 0 评论 -
用闭包做累加器
function add () { var num = 0; function a () { console.log(++num);}return a;}var demo = add();demo();demo();原创 2020-12-13 04:30:44 · 428 阅读 · 0 评论 -
计算输入字节的长度
function retByteslen(taget){ var count, len;count = len = target.length;for (var i =0; i< len; i++){ if (target.charCodeAt(i) > 255){ count ++;}}console.log(count);}原创 2020-12-13 04:28:22 · 403 阅读 · 0 评论 -
使用原生Js addEventListener给每个li元素绑定一个click事件输出他们的顺序
function test() { var liCollection = document,getElemmentByTagName("li");for(var i = 0; i< liCollection.length; i++){ (function(j){ liCollection[j].onClick = function () { console.log(j)}} (j))}}test();原创 2020-12-13 04:24:44 · 722 阅读 · 0 评论 -
闭包解决闭包的例子
function test () { var arr = []; for (var i = 0; i<10; i ++) { (function(j){ arr[j] = function (){ console.log(j);} }(i))return arr;}var myArr = test();for(var j = 0, j< 10; j++){ myArr[j]();}}...原创 2020-12-13 04:19:43 · 158 阅读 · 0 评论 -
数组去重(hash方式)
var arr = [1,1,1,1,1 2,2,2,2,2,1,1,1,1,1,1];Array.prototype.unique = function() { var temp = {}; arr = [], len = this.length; for (var i =0; i<len; i++){ if(!temp[this[i]]){ temp[this[i]] = "abc"; arr.push...原创 2020-12-13 04:11:58 · 280 阅读 · 0 评论 -
封装type方法实例
function type (target) { var ret = typeof (target); var template = { "[object Array]" : "array", "[object Object]" : "object", "[object Number]" : "number - object", "[object Boolean]" : "boolean - object", "[object...原创 2020-12-13 04:06:28 · 147 阅读 · 0 评论 -
闭包对象私有化变量例子
function D (name, wife){ var preparWife = 'a'; this.name = name; this.wife = wife; this.divorce = function () { this.wife = preparWife;} this changePreparWife = function (target) { PreparWife = target;}this.s...原创 2020-12-12 22:57:26 · 191 阅读 · 0 评论 -
公有原型例子
封装函数例子function inherit ( Target, Origin){ Target.prototype = Origin.prototype;}inherit(Son, Father);例子调用Father.prototype.lasterName = 'w'function.Father () {}function Son() {}inherit (Son, Father);var son = new Son();...原创 2020-12-12 22:43:30 · 108 阅读 · 0 评论 -
typeof、闭包,继承,构造函数碎片小知识点
注:if里面不能声明函数;undefined和null不能调用tostring()方法;typeoftypeof为操作符,在未定义变量时用typeof操作不会报错只会返回“undefined”未定义的字符串;typeof(null())返回字符串“Object”;typeof后面的括号可写可不写;“||”运算符比“=”优先级高必包通俗的理解必包就是内部函数被保存到了外部必定生成必包;立即执行函数只执行一次,执行完就立即消失;只有表达式才能被执行符号执行;(函数原创 2020-09-25 14:31:59 · 167 阅读 · 0 评论 -
http常见的状态码有哪些各是什么意思?
2开头的状态码 2xx表示成功处理了请求状态码 200(成功)服务器已经成功处理了请求通常;3开头的状态码 3xx(重定向)表示要完成请求,需要进一步操作,通常这些状态码用来重定向 304(未修改)自从上次请求后,请求的网页未修改过,服务器返回此响应时不会返回网页内容;4开头的状态码 4xx(请求错误)这些状态码表示请求可能出错,妨碍了服务器的处理 400(错误请求)服务器不理解请求的语法; ...原创 2020-05-16 18:22:43 · 1568 阅读 · 0 评论 -
了解:h5应用程序缓存之--cache mainifest
1⃣️从字面意思理解cache mainifest 不难看出为离线浏览;离线缓存就是在没有网的情况下还是可以访问大这些文件的,所以离线缓存的优势优化了浏览器的访问速度, 也节省了服务器的资源;2⃣️ 那么 cache mainifest适用的场景为哪些: 一些静态的页面,需要离线使用的手机app; 离线运行的应用:定时器,计算器,阅读器等工具3⃣️ 使...原创 2020-05-02 12:27:02 · 239 阅读 · 0 评论 -
分析:什么是ajax异步 同步?
什么是ajax异步? sync默认是true即为异步方式; $.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.ajax里的success方法;什么是ajax同步? 若要将sync设置为false则所有的请求均为同步请求; 在没有设置之前,同步请求将锁住浏览器,用户其他操作必须等到请求完成才可以;...原创 2020-05-02 11:41:03 · 256 阅读 · 0 评论 -
手机端和pc端浏览器兼容性问题
1⃣️ 如何解决不同浏览器的标签默认的内外补丁的不同; 解决方法: 在css里开头用通配符来设置内外补丁标签内外补丁为0;2⃣️ 块元素设置float后,又有横行的margin情况下,在IE6中显示margin比设置大; 解决方法: 在css里开头用通配符来设置标签内外补丁为0;3⃣️ 行内...原创 2020-05-02 11:08:33 · 1495 阅读 · 0 评论 -
node.js是什么?
node.js是基于js语言,运行环境是目前最快的浏览器,内核v8做为执行引擎;原创 2020-04-28 16:57:13 · 132 阅读 · 0 评论 -
http代理是什么?
http代理服务器是一种中间程序,由它连接用户主机和运程服务器,具体的连接过程是这样的;用户主机需要远程服务器数据,用户主机通过http代理服务器与远程服务器建立连接,http代理服务器将会将用户主机所请求的数据下载到本地,再将此数据发送至用户主机完成代理任务;...原创 2020-04-23 20:01:21 · 367 阅读 · 0 评论 -
解析Dom、Bom的作用范围
DOM: dom是文档对象模型,用来获取或设置文档中标签属性; 例如:获取或者设置input表单的value值;BOM: BOM的核心是window,而window对象又具有双重角色,它既是通过JS访问浏览器窗口的一个接口,又是一个Global对象,这意味着在网页中定义的任何对象、变量和函数都以window作为其global对象;...原创 2020-04-23 19:58:14 · 310 阅读 · 0 评论 -
浅谈:Document对象、Location对象、Navigator对象、Screen对象
document对象: document对象实际上是window对象的属性,这个对象的独特之处是唯一既有属于BOM又属于DOM的对象; 从BOM角度看document对象有一系列集合构成,这些集合可以访问文档的各个部分;Location对象: 它是window对象和document对象的属性,...原创 2020-04-23 19:51:53 · 392 阅读 · 0 评论 -
AMD、CMD、UMD模块的写法
AMD、CMD、common.js是三种js模块规范;AMD: 推崇依赖前置,在定义模块的时候就要声明依赖的模块; 由于AMD不是JS原生支持,使用AMD规范进行页面开发需要用到对应的库函数,也就是大名鼎鼎的require.js; AMD是requireJS在推广过程中对模块定义的规范化的产出;CMD: 推崇就近依赖...原创 2020-04-23 19:43:56 · 274 阅读 · 0 评论 -
你应该知道的三个环境:开发环境、生产环境、测试环境的理解
开发环境: 通俗理解项目尚在编码阶段,代码一般在开发环境中不会在生产环境中;生产环境: 通俗理解正式运行阶段; 生产环境组成:操作系统,web服务器,语言环境,PHP,数据库;测试环境: 通俗理解项目编码完成,测试,修改bug 找问题;开发到正式上线流程: 开发环境、测试环境、生产环境...原创 2020-04-23 19:30:07 · 732 阅读 · 0 评论 -
关于js内置对象问题讲解
JS内置对象分为数据封装类对象和其他对象数据封装类对象: String,Boolean,Number,Array,和Object;其他对象: Function,Array,Math,Date,RegExp,Error...原创 2020-04-21 23:06:02 · 146 阅读 · 0 评论 -
详解:javaScript和typeScript的之间有什么区别
javaScript和TypeScript最显著的区别就是类型不同;javaScript是动态类型;typeScript是静态类型;TypeScript是JavaScript的超集;TypeScript是真面向对象,增加了静态类型,类,模块,接口和类型注解。typescript基于javascript添加了不少特性: 1、类型批注、编译时类型检查 2、类型推断...原创 2020-04-21 22:59:33 · 867 阅读 · 0 评论 -
关于js中深拷贝和浅拷贝及赋值的问题详解
在搞清楚什么是深拷贝和浅拷贝之前首先要清楚的是js的变量存储类型及赋值:js的存储类型分为两大类:1⃣️: 基本类型(String,Boolean,Number,Undefined,Null;)2⃣️:引用类型(Object(Array,Date,RegExp,Function);)什么是浅拷贝: 浅拷贝是会将对象的每个属性进行依次复制,但是当对象的属性值是引用类...原创 2020-04-21 22:41:54 · 169 阅读 · 0 评论 -
精解:原型链和原型以及作用
1⃣️:什么是原型?概念: 原型也是一个对象; 每创建一个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法;字面意思理解: prototype(原型)就是通过调用构造函数而创建的那个对象实例的原型对象;原型的好处: 可以让所有对象实...原创 2020-04-21 22:25:27 · 674 阅读 · 0 评论