js

JS初学

风流意气都作罢 提交于 2020-03-01 13:32:57
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!-- javascript 脚本语言 由浏览器去解析并且执行的 1.弱类型 强类型 弱类型在定义变量的时候是不需要声明数据类型的,数据类型是由变量值来决定的 JavaScript 强类型在定义变量的时候就已经把数据类型给确定了 java int a 2.解释执行,逐行执行 3.解释型语言 对应编译型语言 python c/c++ 翻译一句看一句 全部翻译好再来看 效率 解释型 < 编译型 全都会被解析成010101 010101 JavaScript的使用 1.行内 句柄写法 2.内部样式表 <script> js 代码 </script> 3.外部样式表 <script src="以.js结尾的js文件的路径"></script> 4.外部导入样式 外部导入模块 写css的时候是放在head里面的 在写JavaScript 是可以放在任何地方的 最好是放在页面的最下面 特殊情况除外 --> <script> // JavaScript代码部分 // 基本的核心语法 // 变量: 会变的量 // 定义变量 // var 定义变量的关键字 // var 变量名 = 变量值; // 变量名的命名规则: 只能是字母

javascript (js)中的基本概念

瘦欲@ 提交于 2020-03-01 13:30:53
1. 基本数据类型 1.1 number (数字) 在js中没有整形和浮点型的区分,所有的数字都是浮点型标识, 采用64位的浮点格式来表示数字.如果数字类型用在字符串连接表达式中,则会自动转换成字符串, 在JS中表示16进制通过在数字前加"0x"或"0X"(零). 1.2 string (字符串) 字符串类型是实用单引号('')或双引号("")括起来的unicode字符序列, 一些特殊的字符可以通过转义符来标识.如果字符串用在数字表达式环境中,字符串会被转换成数字,或者实用转换函数经行转换parseFloat, parseInt var str="23"; var n = str - 0 //这个会把字符串转换成数字 1.3 boolean(布尔) 布尔类型的直接量是通过关键字 true 和 false 来标识, 或者在比较表达式中获得布尔值,布尔值在转成数字的时候 , true转成1 false转成0, 当布尔值转化成字符串时, true转成字符串"true", false转成字符串"false" 1.4 function(函数) 没错在JS中函数是一种数据类型, 这意味着函数也和其他数据类型一样可以赋给某个变量. 1.5 object(对象) 一个对象可以看成一个集合,这个集合可以包含任何数据类型, 集合中的元素通过属性的方式访问,如:(对象.属性/对象.方法),

js处理数组总结

时光怂恿深爱的人放手 提交于 2020-03-01 12:26:56
unshift:将参数添加到原数组开头,并返回数组的长度 pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined push:将参数添加到原数组末尾,并返回数组的长度 concat:返回一个新数组,是将参数添加到原数组中构成的 splice ( start , deleteCount , val1 , val2 , ... ) :从start位置开始删除deleteCount项,并从该位置起插入val1 , val2 , ... reverse:将数组反序 sort ( orderfunction ) :按指定的参数对数组进行排序 slice ( start , end ) :返回从原数组中指定开始下标到结束下标之间的项组成的新数组 例如: 详细: 1、数组的创建 var arrayObj = new Array ( ) ;   //创建一个数组 var arrayObj = new Array ( [ size ] ) ;   //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array ( [ element0 [ , element1 [ , ... [ , elementN ] ] ] ] ) ;  创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的

各种情况上JS获取元素宽高

左心房为你撑大大i 提交于 2020-03-01 10:21:04
各种情况下JS获取元素宽高   为了叙述简单,这里仅拿width示例。    情景一,元素style属性设置了width/height   <div style="width:996px">test<div> <script>   var div = document.getElementsByTagName('div')[0];   alert(div.style.width); </script>默认分类   如上,使用el.style.width即可。    如果没有在style属性中设置width,那么使用el.style.width将获取不到,如下   <div>test<div> <script>   var div = document.getElementsByTagName('div')[0];   alert(div.style.width); </script>   所有浏览器中弹出的是空字符串。即使将样式嵌在页面的css中也仍然获取不到,如下   <style>   div {width: 100px} </style> <div>test<div> <script>   var div = document.getElementsByTagName('div')[0];   alert(div.style.width); </script>  

vue js报Uncaught SyntaxError: Unexpected token 错误

血红的双手。 提交于 2020-03-01 10:00:50
原文链接: https://dsx2016.com/?p=980 微信公众号:大师兄2016 直接上图 vue 本地调试没有问题 打包上线后,线上的某个页面打开空白,报以下错误 Uncaught SyntaxError: Unexpected token < 排查定位 代码检查 代码检查,一般 Unexpected token < 的错误,字面上的意识就是代码中可能有多余的<的符号,造成js阻塞 其次可能是合并冲突,导致未解决冲突的代码被提交了 <<< 之类的 语法检查 本地没有问题,打包到线上有问题,可能是 webpack 编译过程中 ES6 某些语法没有转为 ES5 也可以引起类似的报错,如箭头函数等 let age = 0 setInterval(() => { age++; }, 1000); 文档类型 前端的表现不一定是前端的问题,也可能是服务端的问题,如设置跨域, nginx404 配置等 点击控制台错误的代码提示,查看 network 对应的文件加载状态 可以看到报错的文件内容,这里注意了,一旦 js 打开为 doctype html ,那么很大概率是 nginx 把 js 文件当做 html 文件响应的,于是解析错误 这个时候记得查看该文档的响应信息 正常情况返回 content-type: application/javascript 错误的情况下, js

百度统计的JS脚本原理分析

假装没事ソ 提交于 2020-03-01 08:48:22
首先,百度统计会要求我们在要统计的页面中嵌入一段js语句,类似如下: <script type=”text/javascript”> var _bdhmProtocol = ((“https:” == document.location.protocol) ? ” https://” : ” http://”); document.write(unescape(“%3Cscript src=’” + _bdhmProtocol + “hm.baidu.com/h.js%3F3266e9d3684eaa1337dc7c4b4b64b0ae’ type=’text/javascript’%3E%3C/script%3E”)); </script> 这段js,实质上是往页面中引入hm.baidu.com/h.js的这段代码,该代码的内容会根据后面的参数有所不同,h.js?后面的参数就是你在百度统计里的id。 获取该h.js代码的同时,百度统计会往你的浏览器写入一个名字为“HMACCOUNT”的cookie,该cookie的过期时间为2038年,所以只要你没有清空浏览器cookie,基本就永不过期。 h.js被下载后,便执行其脚本获取一些浏览器相关信息和访问来源,获取的信息包括屏幕尺寸、颜色深度、flash版本、用户语言等。 从js代码中可以得到,所有参数包括这些:”cc,cf,ci,ck

ECMA-262 Introduction (简介)

核能气质少年 提交于 2020-03-01 06:59:30
Introduction 简介 This Ecma Standard is based on several originating technologies, the most well known being JavaScript (Netscape) and JScript (Microsoft). The language was invented by Brendan Eich at Netscape and first appeared in that company’s Navigator 2.0 browser. It has appeared in all subsequent browsers from Netscape and in all browsers from Microsoft starting with Internet Explorer 3.0. ECMA 标准基于几个源技术。比如大家所知道的 JavaScript ( Netscape ) , JScript ( Microsoft ). 语言的发明者是 Netscape ( 以下略称 NS ) 的 Brendan Eich . JS 的第一次出现是在 NS 公司的浏览器 Navigator 2.0 随后则出现在后续的所有 NS 浏览器中。微软则是在 IE3.0 开始出现。 The

【javascript】html中使用javascript

别说谁变了你拦得住时间么 提交于 2020-03-01 06:13:33
内容 主要以《js高程》chap2的内容为主,自己调试一下代码,方面基本概念缺失啊,定义和调用,在这里面都没有分清。 下面是网友已经整理过 第二版 的笔记,所以我就不照搬内容,就自己多调试好了。 js高程chap2:在HTML中使用JavaScript 我的代码在chap2的文件夹 oschina/chap2 参考 javascript语句的执行过程分析 javascript从定义到执行 javascript定义和执行方法 javascript立即执行函数 js高程chap2:在HTML中使用JavaScript 来源: oschina 链接: https://my.oschina.net/u/111698/blog/633106

js中比较运算符"=="和”===“的区别

风流意气都作罢 提交于 2020-03-01 05:55:02
刚学习接触js的时候我们会有些疑惑。 和 = 这两者有什么区别,他们又是如何进行比较的? 下面谈谈我对他们的理解: 区别: “==”, 两边值类型不同的时候,要先进行类型转换,再比较。 “===”,不做类型转换,类型不同的一定不等。 “==”的比较规则: 如果两个值类型不同,他们可能相等。根据以下规则进行类型转换再比较: 1.如果一个是null、一个是undefined,那么相等。 2.如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。 3.如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。 4.如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。 js核心内置类,会尝试valueOf先于toString; “===”的比较规则: 1、如果类型不同,就不相等。 2、如果两个都是数值,并且是同一个值,那么相等。 3、如果两个都是字符串,每个位置的字符都一样,那么相等;否则不相等 。 4、如果两个值都是true,或者都是false,那么相等。 5、如果两个值都引用同一个对象或函数,那么相等;否则不相等。 6、如果两个值都是null,或者都是undefined,那么相等。 来源: CSDN 作者: weixin_46437695 链接:

javascript new Date()

喜欢而已 提交于 2020-03-01 05:06:27
new Date("2012-09-25").getYear()在firefox中能成功,在IE中结果为:NAN。 所以请遵循标准: 创建一个日期对象: 一起jquery,17jquery var objDate=new Date([arguments list]); 参数形式有以下5种: view plainnew Date("month dd,yyyy hh:mm:ss"); new Date("month dd,yyyy"); new Date(yyyy,mth,dd,hh,mm,ss); new Date(yyyy,mth,dd); new Date(ms); 说明: month:用英文表示月份名称,从January到December mth:用整数表示月份,从0(1月)到11(12月) dd:表示一个月中的第几天,从1到31 yyyy:四位数表示的年份 hh:小时数,从0(午夜)到23(晚11点) mm:分钟数,从0到59的整数 ss:秒数,从0到59的整数 ms:毫秒数,为大于等于0的整数,表示的是需要创建的时间和GMT时间1970年1月1日之间相差的毫秒数。 Javascript中日期的构造还可以支持 new Date("yyyy/MM/dd"); 其中:MM是整数表示月份 从0(1月)到11(12月),这样再利用正则表达式就很方便地能够转换字符串日期了。 来源: