js

JS数据类型和变量

狂风中的少年 提交于 2020-02-04 23:47:06
一、定义变量的方式 1、隐式定义: < script type = "text/javascript" > a = "Hello JavaScript" ; alert ( a ) ; < / script > 2、显式定义: < script type = "text/javascript" > var a ; a = "true" ; alert ( a ) ; < / script > 二、类型转换 1、对于减号运算符,因为字符串不支持减法运算,所以系统自动将字符串转成数值。 2、对于加号运算符,系统直接将数值转为字符串,就成了两个字符串进行连接运算。 例: < ! DOCTYPE html > < html lang = "en" > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < meta http - equiv = "X-UA-Compatible" content = "ie=edge" > < title > Document < / title > < / head > < body > < script type = "text/javascript" > var a = "3

ANGULAR JS WATCH监听使用

徘徊边缘 提交于 2020-02-04 21:38:21
ANGULAR 监听使用: 当angular数据模型发生变化时,我们需要如果需要根据他的变化触发其他的事件。 $watch是一个scope函数,用于监听模型变化,当你的模型部分发生变化时它会通知你。 $watch(watchExpression, listener, objectEquality); watchExpression 需要监控的表达式 listener 处理函数,函数参数如下 function(newValue,oldValue, scope) objectEquality 是否深度监听,如果设置为true,它告诉Angular检查所监控的对象中每一个属性的变化. 如果你希望监控数组的个别元素或者对象的属性而不是一个普通的值, 那么你应该使用它 <!DOCTYPE html> <html ng-app="app"> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <script src="assets/angular.min.js"></script> <script src="assets/js/jquery.min.js"></script> <script type="text/javascript"> var app=angular.module("app",[]);

js replace(a,b)之替换字符串中所有指定字符的方法

十年热恋 提交于 2020-02-04 21:36:12
var str = 'abcadeacf'; var str1 = str.replace('a', 'o'); alert(str1); // 打印结果: obcadeacf var str2 = str.replace(/a/g, 'o');//g是重点,如果替换的为‘/’,需要转义,吧/a/g替换为'/\//g' alert(str2); //打印结果: obcodeocf, 来源: https://www.cnblogs.com/SofuBlue/p/11381651.html

jQuery/Js的加法运算

£可爱£侵袭症+ 提交于 2020-02-04 18:28:57
var a=11; var b=22; var res = a+b; console.log(res); //结果为: 1122 结果却是1122,因为此时jQuery将其认为是字符串的相加。 var res = a*1+b*1; 此时,结果就是:33 来源: CSDN 作者: PHP_SEO 链接: https://blog.csdn.net/qq_36746815/article/details/104169081

【js】 ==与===区别

你说的曾经没有我的故事 提交于 2020-02-04 17:46:01
1、对于string,number等基础类型,==和===是有区别的 1)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等 2)同类型比较,直接进行“值”比较,两者结果一样 2、对于Array,Object等高级类型,==和===是没有区别的 进行“指针地址”比较 3、基础类型与高级类型,==和===是有区别的 1)对于==,将高级转化为基础类型,进行“值”比较 2)因为类型不同,===结果为false 严格运算符的运算规则 相等运算符 相等运算符在比较相同类型的数据时, 与严格相等运算符完全一样。 在比较不同类型的数据时, 相等运算符会先将数据进行类型转换,然后再用严格相等运算符比较 (1)不同类型值 如果两个值的类型不同,直接返回false。 (1)原始类型的值 原始类型的数据会转换成数值类型再进行比较。 字符串和布尔值都会转换成数值, 所以题主的问题中会有第二个string输出。 (2)同一类的原始类型值 同一类型的原始类型的值(数值、字符串、布尔值)比较时, 值相同就返回true,值不同就返回false。 (2)对象与原始类型值比较 对象(这里指广义的对象,包括数值和函数)与原始类型的值比较时, 对象转化成原始类型的值,再进行比较。 (3)同一类的复合类型值 两个复合类型(对象、数组、函数)的数据比较时,

js中单引号和双引号的区别

半世苍凉 提交于 2020-02-04 17:43:34
在js中单引号和双引号没有区别,都可以表示字符或字符串。 但是它们必须成对出现,不能前面用一个单引号,后面用一个双引号,这样会报错。 一般情况下,建议优先使用单引号包含字符串,这样做有几个好处: html中标签的属性是用双引号包裹,在js中如果要动态输出html内容,则用单引号将整体html代码包裹起来,而标签中的属性刚好用双引号,避免了转义 编写代码时,双引号需要按shift才可以输入,无形之中降低了敲代码的速度 虽然在语法上,单引号和双引号没有区别,建议优先选用单引号,如何字符串内还有引号,再用双引号,必要的时候还需要用\进行转义 来源: https://www.cnblogs.com/shiguangshuo/p/5227077.html

在js中用正则匹配中文

情到浓时终转凉″ 提交于 2020-02-04 16:51:41
在JavaScript中,用正则表达式如何匹配中文字符(包括繁体、简体)? 答案就是用中文字符集来匹配,中文字符集为[\u4e00-\u9fa5] <!DOCTYPE html> <!-- 文档申明:让浏览器用H5的标准解析当前网页 --> <html> <head> <meta charset="utf-8" /> <!-- 让浏览器以utf-8来解析当前网页 --> <meta name="keywords" content="SEO搜索引擎优化,关键字,关键词," /> <meta name="description" content="网页描述信息80字以内" /> <title>字符集</title> <!-- 控制网页标题 --> </head> <body> <script> /* 中文字符集: [\u4e00-\u9fa5] ==> 可以匹配2万多中文繁简体字符 */ var str = "38u48djhfod中国,@##@!_)+bia發財サービス二條한국어國家"; var reg = /[\u4e00-\u9fa5]+/g; alert(str.match(reg)); </script> </body> </html> 采用以上中文字符集,就可以只匹配到中文简繁体字符啦。效果如下: 来源: CSDN 作者: 纷飞清扬 链接: https://blog

JS中typeof的用法

馋奶兔 提交于 2020-02-04 15:58:23
js是一门弱语言,它在声明变量时无需确定变量的类型,js在运行时会自动判断。那么如何判断一个变量的类型呢,js提供了typeof运算符,用来检测一个变量的类型。 1. typeof的语法 typeof是一个运算符,有2种使用方式:typeof(表达式)和typeof 变量名,第一种是对表达式做运算,第二种是对变量做运算。 2. typeof的返回值 typeof运算符的返回类型为字符串,值包括如下几种: 1. 'undefined' --未定义的变量或值 2. 'boolean' --布尔类型的变量或值 3. 'string' --字符串类型的变量或值 4. 'number' --数字类型的变量或值 5. 'object' --对象类型的变量或值,或者null(这个是js历史遗留问题,将null作为object类型处理) 6. 'function' --函数类型的变量或值 3. 简单的示例 console.log(typeof a); //'undefined' console.log(typeof(true)); //'boolean' console.log(typeof '123'); //'string' console.log(typeof 123); //'number' console.log(typeof NaN); //'number' console.log

js 函数式用法(0)

我们两清 提交于 2020-02-04 15:15:08
Function.prototype.method = function (name, func) { this.prototype[name] = func; return this; }; Number.method('integer', function ( ) { return Math[this < 0 ? 'ceil' : 'floor'](this); }); document.writeln((-10 / 3).integer( )); // -3 String.method('trim', function ( ) { return this.replace(/^\s+|\s+$/g, ''); }); document.writeln('"' + " neat ".trim( ) + '"'); 上述3段代码 展现了 函数式编程的魅力之一 函数1在初始函数处定义了一个函数 函数赋值给函数本体的 参数函数 函数2在定义的函数 因为在初始函数定义了method 所以 可以直接调用 并传递 函数到 prototype 中 函数3同理 来源: CSDN 作者: robotShuiMo 链接: https://blog.csdn.net/robotShuiMo/article/details/104169088

微信小程序——js事件

♀尐吖头ヾ 提交于 2020-02-04 12:05:22
一、点击事件 bindtap < view class = " bottom " > < button bindtap = " addCart " > 加入购物车 </ button > <!-- 事件传参,参数名buy,值'true' --> < button bindtap = " addCart " data-buy = " true " > 立即购买 </ button > </ view > 获取传参:e.currentTarget.dataset 读取本地存储:wx.getStorageSync(“cartList”) 设置本地存储:wx.setStorageSync(“cartList”, productList); 跳转tab:wx.switchTab 弹出模态框:wx.showModal addCart : function ( e ) { // 获取参数名为buy的参数,判断是否跳转购物车 var isGoCart = e . currentTarget . dataset . buy ; // 获取、存入localstorage var productList = wx . getStorageSync ( "cartList" ) ; if ( ! productList ) { productList = [ ] ; } productList .