位置: 编程技术 - 正文

带领大家学习javascript基础篇(一)之基本概念

编辑:rootadmin

推荐整理分享带领大家学习javascript基础篇(一)之基本概念,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

学习目录

一、数据类型

数据类型

二、操作符

递增和递减操作符:

位操作符:布尔操作符:加性操作符:相等操作符

三、语句for-in语句label语句

一、数据类型

数据类型

基本数据类型(五种)

UndefinedNullBooleanNumberString

复杂数据类型(一种)

ObjectUndefined:只有一个值undefined(定义了没有赋值)。

例:

var str;alert(str);//undefined

注意:如果没有用var申明,直接使用会报异常( ... is not defined)。

建议:每次var声明都赋初始值,可以减少很多意外情况。

如:

var str;var str2="张三";str = str + str2;alert(str);//并不是我们意料中的“张三”

Null:略

Boolean:只有两个字面值: true 和 false。

任何数据类型通过Boolean()函数都可以转成Boolean类型。

String:非空字符=>true 空字符=>falseNumber:任何非零=>true 0和NaN=>falseObject:任何对象=>true null=>falseUndefined undefined=>false

如:

var str = Boolean(NaN);var str2 = Boolean("张三");var str3 = Boolean(undefined);alert(str+" "+str2+" "+str3);

既然如此,我们在使用if语句的时候会自动执行相应的 Boolean 转换。

String:略

二、操作符

递增和递减操作符:

【++num、--num、num++、num--】

var age = 3, age2 = 3;age++;++age2;alert(age+" "+age2);

都是4,好像看不出有什么不同。

var age = 3, age2 = 3,num1 ,num2;num1 = age++ + 1;num2 = ++age2 + 1;alert(num1+" "+num2);

好,区别来了。一个任然是4,一个变成了5。为什么会这样呢?优先级不同而已,age++先执行运算符+然后在自身加1,++age先自身加1然后再通过+运算符加1。

位操作符:

【按位非NOT(~)、按位与AND(&)、按位或OR(|)、按位异或XOR(^)、左移(<<)、有符号的右移(>>)、无符号右移(>>>)】其实平时我们很少用到,这里稍作了解。

例:按位非

var num1 = ; // 二进制 var num2 = ~num1; // 二进制 alert(num2); // -

例:按位与

例:按位异或

例:左移

例:有符号右移

例:无符号右移(这个差异有点大,因为第为1代表负数的值也移过来了)

布尔操作符:

【逻辑非(!)、逻辑与(&&)、逻辑或(||)】

这里需要说的就是&&和||是短路操作。||如果前面一个满足条件了就不检测后面的条件了,&&相反前面一个不满足条件就不检测后面的条件了。

例:

测试:

var age = 3;if(age||aaa){//这里的age转Boolean为ture,所以后面的aaa就不检测了。alert(age);}if(aaa||age){//这里将会报错alert(age);}

这里可以告诉大家一个小小的技巧,很多时候我们并不知道某个变量是否有值,但是我们又需要正常使用,那么我们可以给个备胎。

如:浏览器的兼容问题,在旧式浏览器中是用window.event来取事件的相关属性值,新式浏览器中是直接通过形参的形式传过来的。我们就可以。

带领大家学习javascript基础篇(一)之基本概念

实验:  

var obj = null;var obj2 = obj||"备胎";alert(obj2);

加性操作符:

【加法(+)、减法(-)】

这个再熟悉不过了,不过还是有一点需要注意。

让我们来测试一下吧。

var strnum1 = "5";var num2 = strnum1 + 3;var num3 = strnum1 - 3;alert("num2="+num2+" num3="+num3);//这里会是什么结果呢?

为什么会这样?字符串和数字相加,数字会转为字符串。字符串和数字相减,字符串转为数字。

相等操作符

var num1 = "5";var num2 = 5;var isEqual = num1==num2;alert("num1是否等于num2:"+ isEqual);

奇怪吧,字符串怎么和数字相等。是的,这里用到了自动转型。但是,我们不想看到这样的结果怎么办?

var num1 = "5";var num2 = 5;var isEqual = num1===num2;alert("num1是否等于num2:"+ isEqual);

是的,我们可以用===全等于。不仅比较数值,还比较类型。

三、语句

for-in语句

for循环语句用得多,for-in可能平时就用的较少了。(for-in循环应该用在非数组对象的遍历上,使用for-in进行循环也被称为“枚举”。)

例:

var obj = {id:2,name:"张三"};var str = "";for(o in obj){ str += "属性:"+ o + " 值:" + obj[o] + " ";}alert(str);

label语句

感觉和C#中的goto很像,但又不一样。

我们平时有没有过在多个循环嵌套里面想跳出第二层循环?一般我们只能用break或者continue跳出最里面的循环,或者return跳出整个函数。万万没想到的是,还有一个label语句,可以跳出任意层循环。例:

var num = 0;outermost:for (var i=0; i < ; i++) { for (var j=0; j < ; j++) { if (i == 5 && j == 5) { break outermost; } num++; }}alert(num); //

好了,第一篇差不多就整理到这里了。最后出几个有趣的题目给大家。

一、为什么 1=0.…… 二、为什么 alert(0.1 + 0.2)//0.三、为什么 alert( + 4)//

四、

var obj1 = {}; obj1.name2 = "张三";var str1 = "test"; str1.name2 = "李四";alert(obj1.name2 + " " + str1.name2);//弹出值是什么

五、

var obj1 = { name2: "" };var obj2 = obj1;obj1.name2 = "";alert(obj2.name2);//这里弹出什么?obj1 = { name2: "" };alert(obj2.name2);//这里弹出什么?

六、

var fun = function (num1) { if (num1 <= 1) { return 1; } else { return num1 * fun(num1 - 1); } } var fun2 = fun; fun = function () { return 1; } alert(fun2(5));//这里弹出什么?

还有点时间在给大家介绍 JavaScript基本数据类型

  JavaScript的基本数据类型包括6种:number/string/boolean/object/function/undefined。

  2.1 number类型

  number类型用来存储数值,它描述的是位的浮点型数值。但Javascript并不能表示0-2e之间的所有数值,因为它还需要表示非整数,包括复数、分数等。对于位来说,需要使用位来存储数字的小数部分,使用1位来表示正负,所以JavaScript实际上可以表示-2e到2e之间的值。

  2.2 string类型

  string类型用来表示文本,可以使用单引号或者双引号来包括文本,任何放在引号内的符号,都会被认为是string,但对于特殊符号,可能需要转义处理。

  2.3 boolean类型

  boolean类型只包括两个值:true和false。我们可以在程序中使用各种boolean表达式来得到true或者false,从而实现不同的业务分支处理。

  我们可以在表达式中包含多个条件,条件之间可以是与或非的关系,在计算时,优先级如下:||的优先级最低,其次是&&,然后是比较运算符,最后是其他运算符(例如!)。

  和其他许多语言一样,对于&&来说,当前面的条件为false时,后面的条件不再计算,对于||来说,当前面的条件为true时,后面的条件不再计算。

  来看下面的例子:

  它的输出结果如下:

  可以看出,在使用||时,没有调用changeValue方法。

  2.4 undefined类型

  当我们声明了一个变量,但是没有对其赋值时,它就是undefined的,就像下面这样

var b; print(b);

  在Javascript中,还有一个和undefined类似的值:null。undefined表示“变量已声明但是没有复制”,null表示“变量已赋值但为空”,需要注意的是undefined==null的值为true。

  2.5 类型转换

  我们在上面提到了undefined == null的值是true,但我们使用typeof操作时可以发现,null是object类型,这说明在比较的过程中,发生了类型转换。

  类型转换是指将一种类型的值转换成另外一种类型的值。我们使用==进行比较时,会有类型转换,我们可以使用===来禁止类型转换。

  来看下面的例子:

  输出结果如下:

可以很明显看到==和===的区别。

全面解析Bootstrap表单使用方法(表单控件状态) 一、焦点状态焦点状态是通过伪类:focus来实现。Bootstrap框架中表单控件的焦点状态删除了outline的默认样式,重新添加阴影效果。formrole="form"class="form-hori

全面解析Bootstrap表单使用方法(表单按钮) 一、多标签支持一般制作按钮除了使用button标签元素之外,还可以使用inputtype="submit"和a标签等。同样,在Bootstrap框架中制作按钮时,除了刚才所说的这

JavaScript DOM 学习总结(五) 1、DOM简介。当页面加载时,浏览器会创建页面的文档对象模型(DocumentObjectModel)。文档对象模型定义访问和处理HTML文档的标准方法。DOM将HTML文档呈现

标签: 带领大家学习javascript基础篇(一)之基本概念

本文链接地址:https://www.jiuchutong.com/biancheng/385485.html 转载请保留说明!

上一篇:全面解析Bootstrap表单使用方法(表单控件)(全面解析日本失去的十年)

下一篇:全面解析Bootstrap表单使用方法(表单控件状态)(全面解析少女时代关系)

  • 劳务公司发放农民工工资要开发票吗?
  • 跨区域涉税事项报验是什么意思
  • 一般纳税人税费计算明细表
  • 公司买手表账务处理
  • 小规模未达起征点
  • 所有小规模都能抵税吗
  • 房地产企业增值税管理办法
  • 净现值率和现值指数之间的关系
  • 缴注册印花税怎么做账
  • 消费卡预付卡能入账吗
  • 房企与个人订立购房合同是否贴花?
  • 出口销售收入会计分录
  • 饮料工业发展前景如何
  • 无形资产加计扣除最新政策
  • 营改增后如何纳税
  • 为在建工程发生的管理费用
  • 公允价值变动损益会计处理
  • 支付结算办法主要内容
  • 废气处理工程会计分录
  • 公司领用自产产品建设厂房包括销项税
  • 增值税附加税计入什么会计科目
  • 其他业务收入和其他业务成本
  • 投资利润率的计算结果不受建设期的长短
  • 个税少扣了怎么账平掉
  • 支付国外佣金代扣代缴企业所得税怎样记账
  • 怎么做汇算清缴报表
  • 更改代理设置失败 可能无网络连接
  • exe是什么进程
  • 股息红利税补缴什么时候收取
  • 应收票据到期收回时和未到期转让时
  • kjournald是什么进程
  • 根据新企业所得税法的规定,企业购买并实际使用
  • 电脑桌面上的图片怎么打印
  • 接受赠品的账务处理流程
  • html怎么做
  • 金门大桥和马林大桥区别
  • 保姆分为哪些级别
  • opencv调用yolov8
  • 包装费包含什么
  • 调整税率后增值税发票的开具正确的有
  • 印花税和工会经费用不用计提
  • 个税专项扣除子女教育可以怎么扣
  • 计提怎么理解
  • 快递破损后赔偿还能把东西拿走吗
  • 一笔购入多项固定资产
  • mysql主要支持哪些数据类型?
  • 销项负数发票能作废吗
  • 年报资金数额是什么意思
  • 合并报表存货的计税基础
  • mysql数据库简单介绍
  • 库存商品毁损的会计分录
  • 红冲发票重开一定要一样的金额吗?
  • 企业委托企业
  • 委外研发费用如何界定
  • 购买商品属于什么费用
  • 公司办理宽带套餐合法吗
  • 小规模纳税人差旅费可以抵扣吗
  • 土地使用权作为存货怎么入账
  • 开具的增值税专用发票上注明的价款含税吗
  • 公司申请土地建厂房
  • 新公司季初资产总额填什么
  • 航天金税电子发票怎么读入
  • 现汇账户和现钞账户
  • xp系统字体安装方法
  • linux安装sz
  • windows字幕软件
  • lol进入游戏后电脑没声音
  • 苹果mac双系统怎么删除
  • winoldap.exe - winoldap进程是什么意思
  • win10触摸模式开启
  • SCP 方便的Linux文件互传
  • win7电脑flash安装教程
  • android入门教程
  • jquery ajaxfileupload异步上传插件
  • jquery 点击按钮
  • JavaScript中的方法名不区分大小写
  • koa和express的区别
  • Javascript & DHTML 实例编程(教程)DOM基础和基本API
  • 数字动画文件格式有哪些
  • 增值税率下降
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设