Javascript 常见使用误区

Javascript常见使用误区

1)比较运算符:

var x = 0;
if (x = 10) // true
if (x = 0) // falsevar x = 10;
var y = "10";
if (x == y) // true
if (x === y) // false 恒等计算符,同时检查表达式的值与类型var x = 10;
switch(x) { //执行case 10: alert("Hello");case "10": alert("Hello"); // 类型不一致不会执行
} 
  1. 加法与连接:
var x = 10 + 5;          // x 的结果为 15
var x = 10 + "5";        // x 的结果为 "105"

3)浮点型数据

var x = 0.1;
var y = 0.2;
var z = x + y            // z 的结果为 0.30000000000000004
if (z == 0.3)            // 返回 false
为解决以上问题,可以用整数的乘除法来解决:
var z = (x * 10 + y * 10) / 10;       // z 的结果为 0.3

4) 字符串分行: 直接使用回车换行是会报错的

需要使用反斜杠(\)
var x = "Hello \
World!";

5) 定义数组、对象元素,最后不能添加逗号

var colors = [5, 6, 7,]; //这样数组的长度可能为3 也可能为4。
websites = {site:"菜鸟教程", url:"www.runoob.com", like:460,}

6) Undefined 不是 Null
在 JavaScript 中, null 用于对象, undefined 用于变量,属性和方法。
对象只有被定义才有可能为 null,否则为 undefined。

我们想测试对象是否存在
if (myObj !== null && typeof myObj !== "undefined")  // 错误的使用
if (typeof myObj !== "undefined" && myObj !== null)  //正确

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401537.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内存泄漏和内存溢出的优化

内存泄漏: 对象在内存heap堆中中分配的空间, 当不再使用或没有引用指向的情况下, 仍不能被GC正常回收的情况。 多数出现在不合理的编码情况下, 比如在Activity中注册了一个广播接收器, 但是在页面关闭的时候进行unRegi…

使用ftp搭建yum源问题解决

wget 无法连接的情况 关闭linux 防火墙 1) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后失效 开启: service iptables start 关闭: service iptables stop 需要说明的是对…

oracle文件

1、控制文件和日志文件 控制文件(Control File)是一个很小的二进制文件,用于描述和维护数据库的物理结构。在Oracle数据库中,控制文件相当重要,它存放有数据库中数据文件和日志文件的信息。Oracle数据库在启动时需要访…

Javascript this关键字 指向详解

Javascript this关键字 指向详解 面向对象语言中 this 表示当前对象的一个引用。在 JavaScript 中 this 不是固定不变的&#xff0c;它会随着执行环境的改变而改变。 1&#xff09; 单独使用&#xff0c;this 表示全局对象。 <script type"text/javascript">…

storyboard隐藏iphone软键盘

xcode 4.3.2 storyboard ** 点击软键盘的return键隐藏软键盘 .h文件定义IBAction -(IBAction)textFieldReturn:(id)sender; .m文件实现 -(IBAction)textFieldReturn:(id)sender{[sender resignFirstResponder];//关键代码 } storyboard中&#xff0c;选中文本框&#xff0c;查…

常用命令-tar 加密

2019独角兽企业重金招聘Python工程师标准>>> 在当前目录下有一个pma目录的文件夹: 1、使用tar对文件压缩加密&#xff1a; # tar -zcvf - pma|openssl des3 -salt -k password | dd ofpma.des3 完成将得到一个pma.des3的打包文件&#xff0c;用你设置的密码替换pas…

ORM SQLAlchemy 简介

对象关系映射&#xff08;Object Relational Mapping&#xff0c;简称ORM使用DB-API访问数据库&#xff0c;需要懂 SQL 语言&#xff0c;能够写 SQL 语句&#xff0c;如果不想懂 SQL&#xff0c;又想使用关系型数据库&#xff0c;可以使用 ORM,一个 ORM , 它的一端连着 Databas…

Javascript let和const

Javascript let和const 在 ES6 之前&#xff0c;JavaScript 只有两种作用域&#xff1a; 全局变量 &#xff1a; 在函数外声明的变量作用域是全局的 局部变量&#xff08;函数变量&#xff09;&#xff1a;在函数内声明的变量作用域是局部的 <script type"text/jav…

Javascript JSON格式

Javascript JSON格式 1&#xff09;什么是JSON&#xff08;JavaScript Object Notation&#xff09;&#xff1f; 是一种轻量级的数据交换格式 是独立的语言 2&#xff09;JSON 语法规则 数据为 键/值 对 数据由逗号分隔 大括号保存对象 方括号保存数组 JSON 对象&#xff…

转:OAUTH协议简介

OAUTH协议简介 原文链接 摘要&#xff1a;OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第 三方触及到用户的帐号信息&#xff08;如用户名与密码&#xff09;&#xff0c;即第三方无需使用用户的用户名与密…

生产库自动派送报表派送失败之重新派送

/*Description: 生产库自动派送报表派送失败之重新派送 */USE [DB] --Replace yourDBGODECLARE ProductDate nvarchar(10) N2014-01-01DECLARE FactoryCode nvarchar(10) NXDECLARE strSQL nvarchar(3000)DECLARE strCRLF nvarchar(…

java集合框架05——ArrayList和LinkedList的区别

前面已经学习完了List部分的源码&#xff0c;主要是ArrayList和LinkedList两部分内容&#xff0c;这一节主要总结下List部分的内容。 List概括 先来回顾一下List在Collection中的的框架图&#xff1a; 从图中我们可以看出&#xff1a; 1. List是一个接口&#xff0c;它继承与Co…

Javascript 函数详解

Javascript 函数详解 1&#xff09;函数声明&#xff1a; 通过关键字function定义&#xff0c;把函数作为变量来声明 函数声明后不会立即执行&#xff0c;会在我们需要的时候调用到。 <script>function myFunction(a, b) {return a * b;}// js对大小写敏感&#xff0c;…

asp.net仿搜索引擎关键字高亮.搜索高亮

以前做关键字高亮都是直接使用replace方法直接替换 如 string input"AAbCC"; string keyword"b"; inputinput.ToUpp(); keywordkeyword.ToUpp(); ss.Replace(keyword,"<font>"keyword"</font>"); 如果这样 输出: "AA…

easyui validatebox 验证类型

required: "必选字段", remote: "请修正该字段", email: "请输入正确格式的电子邮件", url: "请输入合法的网址", date: "请输入合法的日期", dateISO: "请输入合法的日期 (ISO).&…

SSL 1461——最大连续数列的和

Description 求最大连续子序列的和 Input 第一行输入n(n<500),第二行为n个以空格分开的整数(-1000到1000之间)&#xff1b; Output 该序列中最大的连续子序列的和 Sample Input &#xff16;   1 2 -5 6 7 8 Sample Output 21 每次读入一个数判断它是否为负数&#xff0…

ln链接使用

首先说明下Linux下删除、移动、复制的意义。删除:是将inode表放回空闲区由1变为0&#xff0c;还可以找回文件移动:是将inode表不变&#xff0c;将文件转移至对应条目&#xff0c;删除原条录。同分区上操作速度快&#xff0c;不同分区相当于创建、删除原文件复制:是重建inode表&…

poj 2886Who Gets the Most Candies?

题目连接&#xff1a;http://poj.org/problem?id2886 这道题是模拟约瑟夫环&#xff0c;其具体实现和poj2826差不多的。 我的代码如下&#xff1a; #include<cstdio> #include<cstdlib> #include<cmath> #include<memory.h> int seg_tree[500010<&…

Javascript 对象一(对象详解)

JS创建对象的几种方法1. Object 构造函数 创建 2. 对象字面量表示法 创建 3. 使用工厂模式创建对象 在 Car 函数中&#xff0c;返回的是一个对象。那么我们就无法判断返回的对象究竟是一个什么样的类型。于是就出现了第四种创建对象的模式 4. 使用构造函数创建对象 构造函数…

有一个长为n的数组A,求满足0≤a≤bn的A[b]-A[a]的最大值。 给定数组A及它的大小n,请返回最大差值。...

// ConsoleApplication10.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> #include <vector> #include <list> #include <deque> #include <string> #include <algorithm> using namespace st…