JavaScript—数据类型转换

简介: JavaScript—数据类型转换

结构层:HTML 决定网页内容

表现层:CSS 提供样式

行为层:javascript 网页动起来

1、起  源

处理网页中的前端验证(指检查用户输入的内容是否符合一定规则)

理 念

这些验证过于简单,放在服务器没必要,因此把它放在浏览器。

2、特 点

解释型语言

类似C和java的语法结构

动态语言

基于原型的面向对象(比C#的面向对象还要贴和实际)

一切都是对象,包括函数,函数名其实是引用函数定义对象的变量

严格区分大小写

弱类型(不严格检查类型,var声明或不定义类型,任何类型赋值都成功)

不需要编译,直接解释执行(相比编译语言,性能可优化的空间很大,使用字面值就是一种方式)

默认浮点类型,精度不好控制

不支持函数重载,但能通过arguments实现

框 架

  1. AngularJS框架

  1. WebSocket协议

 书 写 位 置 

1. 在head标签中添加标签

<script type="text/javascript">
    alert("第一行js代码哟");   //弹出提示框
</script>

2. 写在标签的属性中(结构与行为耦合,不方便维护)

<body>
    <!--点击按钮,执行js代码-->
    <button onclick="alert('不许点');">点我一下</button>
</body>

3. 写在超链接href属性中

<a href="javascript:alert('还点');">我是超链接</a>

4. 写在外部js文件中,通过script标签引入(一旦被引用,再修改js文件的代码也没用了)

<script type="text/javascript" scr="js/script.js">
</script>

 注 释

  1. 多行/**/
  2. 单行//

 浏览器调试js代码

  1. 按F12找到脚本代码
  2. 设置断点
  3. IE:刷新后按F11调试
  4. 谷歌:F10调试
  5. 在控制台打印变量值


3、变量

  1. 在函数体声明的,函数外不能用
  2. 函数内可以访问函数外的成员
  3. 内外函数重名,就近原则

① 全局变量

js只有一个全局变量——window,很容易发生重名的冲突,所以可以自己绑定一个全局变量。

//自己写的全局变量
var quanju={};
//把函数和字段绑定在这个全局变量中
quanju.name='lala';
quanju.add=function(a,b){
    return a+b;
}

② 局部变量

建议使用let,不用var

 ③ 常量

所有字母大写

const IP='不能变了';

 4、数据类型

  1. 基本类型:数字类型(数字是浮点类型,不精确)、布尔类型、字符串类型(单、双引号都行,视情况而定,一般双引号里嵌套单引号)
  2. 引用类型:对象类型(用new生成的对象就是)、函数类型
  3. 空类型:unll、undefined
  4. 包装类型(Number、String、Boolean)(首字母大写)


      基本类型不是对象,不具备方法,只是一个简单的数据。在执行诸如“num.toString()”的时候,编译器会自动根据num生成一个Number类型的对象,并调用toString方法将结果返回,然后释放Number对象,等待垃圾回收。


       NaN与自己不相等

 严格检查数据类型-use strict

i=1; //不写类型时是全局变量
var i=1;//局部
let i=1; //局部,建议使用
const i=1;//常量

因为js的数据类型非常灵活,为了防止出错,有了严格检查模式‘use strict

'use strict'   //必须写在script的第一行,有格式不严谨的就会报错
let i=1;

① 数 组

① 数组的字面值、直接量(js里就大量使用字面值)

var arr=[1,2,2,true,'hello'];     //直接直观,什么类型都能放

② 构造方法创建数组(①②是一样的)

var arr=new Array(1,2,2,true,'hello');  //对象是(),数组是[]

给arr.length赋值,数据长度就会变化(慎用)

 ② 字符串

不可变

1.正常字符串使用单引号 或双引号包裹

2.注意转义字符\

\n  换行
\r

3.多行字符串编写(esc下边,tab上边)

var msg=
`hello
woed`

4.模板字符串

let name="xiaxia";
let msg='你好呀,${name}'

 6、类型转换

//数字转字符串
String(数字)
数字+""
数字.toString()

① 字符串转数字

//字符串转数字
字符串-0
Number(字符串)
parseInt()
parseFloat()

② 字符串转bool值

加两个!!(意思是否定一次再否定一次)

if(!!val){
}

③ 能力判断

(判断对象里是否有某个函数)

//判断o里是否有函数foo,没有就添加
if(!o.foo){
    o.off=function(){};
}
//典型:JQuery中trim方法(不做赘述)

剩下的好好看图,图上都有:

7、编码方式

  1. 无论是js还是css都可以写在页面中
  2. <script>、<style>可以放在页面中的任何一个地方,可写一个或多个
  3. 为了页面流畅,一般将<style>和<link>放在前面,<script>放在后面

js三元表达式的简写

       对于js中的逻辑或运算,如果参与运算的数据不是布尔类型,看第一个操作数是否为真,如果是,整个表达式的返回值就是第一个操作数(可以是函数、字符串等等)

//f=f ? f:function(a,b) {return a-b;};
//下面是三元表达式的简写,f为真,返回值就是f函数本身,否则就是第二个函数
f=f || function(a,b) {return a-b;};

js与CSS的区别

Css:有background-color 这种写法

js:使用小驼峰命名规则,或者使用关联数组(把一个对象当数组来用),js不支持重载

<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
                  onload=function(){
                         var p=document.getElementsByTagName("p")[0];
                         //backgroundColor就是小驼峰命名
                         p.style.backgroundColor="pink";
                         p.style.borderTopColor="blue";
                         p.style.borderTopStyle="dashed";
                           //关联数组,数组内是css的写法,真灵活
                         p.style["border-top-widrh"]="1px";
                  };    
</script>
</head>
<body>
<p>我是一个段落</p>
</body>

效果如下:

相关文章
|
16天前
|
存储 JavaScript 对象存储
js检测数据类型有那些方法
js检测数据类型有那些方法
130 59
|
2月前
|
JavaScript
js基础数据类型
js基础数据类型
28 1
|
9天前
|
存储 前端开发 JavaScript
前端基础(三)_JavaScript数据类型(基本数据类型、复杂数据类型)
本文详细介绍了JavaScript中的数据类型,包括基本数据类型(Number、String、Boolean、Undefined、Null)和复杂数据类型(Object),并解释了如何使用`typeof`操作符来识别变量的数据类型。同时,还讨论了对象、函数和数组等复杂数据类型的使用方式。
13 2
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-基本数据类型和引用数据类型
关于JavaScript基础知识的文章,主要介绍了基本数据类型和引用数据类型。
34 2
JavaScript基础知识-基本数据类型和引用数据类型
|
2月前
|
JavaScript 前端开发
JavaScript基础&实战(1)js的基本语法、标识符、数据类型
这篇文章是JavaScript基础与实战教程的第一部分,涵盖了JavaScript的基本语法、标识符、数据类型以及如何进行强制类型转换,通过代码示例介绍了JS的输出语句、编写位置和数据类型转换方法。
JavaScript基础&实战(1)js的基本语法、标识符、数据类型
|
2月前
|
开发者 图形学 开发工具
Unity编辑器神级扩展攻略:从批量操作到定制Inspector界面,手把手教你编写高效开发工具,解锁编辑器隐藏潜能
【8月更文挑战第31天】Unity是一款强大的游戏开发引擎,支持多平台发布与高度可定制的编辑器环境。通过自定义编辑器工具,开发者能显著提升工作效率。本文介绍如何使用C#脚本扩展Unity编辑器功能,包括批量调整游戏对象位置、创建自定义Inspector界面及项目统计窗口等实用工具,并提供具体示例代码。理解并应用这些技巧,可大幅优化开发流程,提高生产力。
129 1
|
2月前
|
JavaScript 前端开发
JS常用数据类型转换(数字型和字符串型之间转换)
JS常用数据类型转换(数字型和字符串型之间转换)
42 2
|
2月前
|
前端开发 JavaScript
Web 前端大揭秘!JS 数据类型检测竟如此震撼,一场惊心动魄的代码探秘之旅等你来!
【8月更文挑战第23天】在Web前端开发中,合理检测数据类型至关重要。JavaScript作为动态类型语言,变量类型可在运行时变化,因此掌握检测技巧十分必要。
27 1
|
2月前
|
存储 前端开发 JavaScript
Web前端的奇幻之旅:探索JS数据类型的奥秘与差异
【8月更文挑战第23天】JavaScript是一种动态类型语言,提供多种内置数据类型支持信息的存储与操作。这些类型对Web前端开发者至关重要,直接影响代码性能与可读性。JavaScript数据类型主要分为两大类:原始数据类型(如Undefined、Null、Boolean等)与引用数据类型(如Object、Array等)。原始类型直接存储值,而引用类型存储指向数据的引用。原始类型不可变且存储在栈中,访问更快;引用类型则存储在堆中,可通过其引用进行修改。理解这些差异有助于编写高效、可维护的代码。
33 0
|
2月前
|
存储 JavaScript 前端开发
JavaScript引用数据类型和构造函数的秘密
JavaScript引用数据类型和构造函数的秘密