javascript基础知识
yikewang2016
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
理解js中的闭包
这里我们先复习一下Js的作用域的感念,JS中没有块级作用域,像c++、java等语言,一个花括号{}就是一个作用域,但是在js中没有块级作用域,它只有全部作用域和局部作用域,这里的局部作用域又称为函数作用域。这就导致函数中的变量,在函数外部是读取不到的。但是某种特殊场合中我们还必须用到函数中的变量,这是闭包就应运而生了。言归正传,开始闭包。 闭包听起来很复杂很神秘的概念,但是只要理解了核心的概念...原创 2018-07-19 11:32:43 · 169 阅读 · 0 评论 -
理解js递归算法
递归算法是一种看似简单,但逻辑性比较复杂的算法。一般我们看的递归代码,很复杂的问题3/4行就可以解决的,但是背后的逻辑还是很复杂的。 递归的特点总结: 1、自调用,就是在函数里面调用自己 2、最关键的一点,就是一个递归必须明确结束条件,不然就会陷入无穷的死循环 3、缺点,就是消耗大量内存 下面我们总结一下常见的递归题目,(会逐步更新,面试的时候经常问道,尤其是BA...原创 2018-07-19 16:01:44 · 7849 阅读 · 1 评论 -
关于js中this指向的理解
理解JavaScript中this的指向问题之前,首先要记住一句话“this的最终指向始终是调用的它的对象” 情况一:函数的直接调用 function hi(){ alert(this) } hi()// 此时this的指向是window 理解这段代码,通常我们定义全局变量实际上是为window添加属性,如 var a=1; =>>window...原创 2018-07-18 16:40:27 · 289 阅读 · 0 评论 -
JavaScript高级程序设计——script标签(含解决跨域方法JSONP的原理)
<script>这个标签应该是前端最早也是最熟悉的标签,正是有了这个标签我们js才可以运行在浏览器中,这么说吧,早的浏览器就是静态html标签,不认识也不能编译js代码,怎么办呢,这时候script标签就应运而生了。 我今天就来回顾一下关于script的几个关键点。 1、js引入html的有两种方式,一种是嵌入式,一种是外部引用。这些就太基础,不多说了。 2、我们通常将scrip...原创 2018-09-06 10:18:38 · 658 阅读 · 0 评论 -
JavaScript高级程序设计——数据类型
js的数据类型很简单,相对于类C语言的语言来说。js是弱类型语言,也是动态类型的语言。 js的数据类型有5个简单数据类型和一个复杂类型。 5——Number、String、Boolean、Undefined、Null 1——Object 需要注意的一点: typeof是判断数据类型的运算符,其中 function——函数 object——对象或者null 一、Undefined类型...原创 2018-09-11 10:02:53 · 251 阅读 · 0 评论 -
JsonP的原理
我们都知道目前浏览器出于安全的考虑全部采用同源策略,这就导致跨域问题。 Jsonp是一种解决跨域的方案,首先我们知道在跨域的情况下去服务器请求数据的时候会出现跨域的问题,jsonp的原理是什么呢? html中有几个种标签是具有src属性的,<imag><script><iframe>这几个标签都具有跨域的能力,可以直接向服务器请求数据并展示在页面中。 js...原创 2019-05-08 15:37:17 · 211 阅读 · 0 评论 -
解决跨域的几种主流方式
为了安全起见,目前所有的浏览器都采用同源策略,就是同源策略,虽然挡住了恶意攻击,但是同样也阻碍了我们正常的前后端交互,为了解决跨域问题,下面总结一下几种主流的解决跨域的方案。 1. JSONP 基本原理就是客户端通过<script>标签的跨域能力,向服务器发送数据请求,并且挂载callback回调函数名,后端返回 回调函数名包裹数据 的字符串, 前端拿到函数字符串直接调用。参...原创 2019-05-09 14:44:17 · 475 阅读 · 0 评论 -
js 深拷贝
//使用递归封装深拷贝函数 function deepClone(obj){ var result = Array.isArray(obj)? [] : {} for(var key in obj){ if(obj.hasOwnProperty(key)){ if(typeof obj[key] === "object"){ ...原创 2019-05-10 10:49:21 · 209 阅读 · 0 评论
分享