8.4 JavaScript(一)
参考链接:http://how2j.cn/k/javascript/javascript-javascript-tutorial/519.html
一、JavaScript是什么
JavaScript用于网页和用户之间的交互,eg:比如提交的时候,进行用户名是否为空的判断。
完整的javascript由语言基础、BOM、DOM三部分组成。
javascript代码必须放在script标签中 script标签可以放在html的任何地方,一般建议放在head标签里
javascript都是放在script标签中的,一旦加载,就会执行、如果有多段script代码,会按照从上到下,顺序执行(不换行)
可以采用和css一样的手段,把javascript代码剥离出来,单独放在一个文件里,在html中引用该文件即可。
<script src="http://how2j.cn/study/hello.js"></script>
二、JavaScript的语言基础
2.1 document是javascript的内置对象,代表浏览器的文档部分,document.write("Hello Javascript"); 向文档写入字符串
2.2 JavaScript相关注释、// 单行注释、/* .. */ 多行注释
2.3 使用var声明一个变量、开头可以用 _$和字母 、其他部分可以用 $ _ 字母或者数字
<script>
var x = 10;
document.write("变量x的值:"+x);
</script>
2.4 JS的七大基本数据类型
- undefined:当一个变量被声明了,却没有赋值的时候,叫做 undefined
- Boolean:Boolean变量有两种值,分别是true或者false
- Number:javascript中的Number可以表示十进制,八进制,十六进制整数,浮点数,科学记数法
- String:与java不同的是,javascript中没有字符的概念,只有字符串,所以单引号和双引号,都用来表示字符串。
- Array:集合
- object:对象
- null:空对象/对象不存在
var变量的类型是动态的,当值是整数的时候,就是Number类型,当值是字符串的时候,就是String类型
判断x元素的类型:+typeof x
2.5 基本类型转换
javascript是一门很有意思的语言,即便是基本类型,也是伪对象,所以他们都有属性和方法。变量a的类型是字符串,通过调用其为伪对象的属性length获取其长度
- 转换成字符串:无论是Number,Boolean还是String都有一个toString方法,用于转换为字符串
- 数字变为字符串:Number转换为字符串的时候有默认模式a.toString(),10进制和基模式自己决定几进制两种。
- 转换为数字:javascript分别提供内置函数 parseInt()和parseFloat(),被转换的字符串,同时由数字和字符构成,那么parseInt会一直定位数字,直到出现非字符。
- 使用内置函数Boolean() 转换为Boolean值,当转换字符串时:非空即为true
当转换数字时:非0即为true;当转换对象时;非null即为true
Number()和parseInt()一样,都可以用来进行数字的转换
区别在于,当转换的内容包含非数字的时候,Number() 会返回NaN(Not a Number)、parseInt() 要看情况,如果以数字开头,就会返回开头的合法数字部分
String()和toString()的区别?
String()和toString()一样都会返回字符串,区别在于对null的处理
String()会返回字符串"null"
toString() 就会报错,无法执行
2.5 调试的几种方法
- alert(1)会弹出一个对话框,里面的内容是1。换句话说,如果弹出了1,这个位置以上的代码,都是可以运行的。
- 点击快捷键F12,就会出现console页面。
- 类似于 alert进行调试, firebug有一个日志输出工具console.log()
三、函数
函数即一段可以重复使用的代码
<script>
function print(message){
document.write(message);
}
print("第一句话");
print("<br>");
print("第二句话");
</script>
在函数内的参数为局部参数、在函数外的为全局参数
四、JavaScript的内置对象(需要new)
JavaScript中的对象是有着属性和方法的一种特殊数据类型。
- Number,
- 字符串String,
- 日期Date,
- 数组Array。
- Math,算数常用方法
8.4 JavaScript(一)的更多相关文章
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈
Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...
- Javascript 的执行环境(execution context)和作用域(scope)及垃圾回收
执行环境有全局执行环境和函数执行环境之分,每次进入一个新执行环境,都会创建一个搜索变量和函数的作用域链.函数的局部环境不仅有权访问函数作用于中的变量,而且可以访问其外部环境,直到全局环境.全局执行环境 ...
- 探究javascript对象和数组的异同,及函数变量缓存技巧
javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...
- 读书笔记:JavaScript DOM 编程艺术(第二版)
读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...
- 《Web 前端面试指南》1、JavaScript 闭包深入浅出
闭包是什么? 闭包是内部函数可以访问外部函数的变量.它可以访问三个作用域:首先可以访问自己的作用域(也就是定义在大括号内的变量),它也能访问外部函数的变量,和它能访问全局变量. 内部函数不仅可以访问外 ...
- JavaScript权威指南 - 函数
函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...
- JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
今天为大家分享一下我自己制作的浏览器滚动条,我们知道用css来自定义滚动条也是挺好的方式,css虽然能够改变chrome浏览器的滚动条样式可以自定义,css也能够改变IE浏览器滚动条的颜色.但是css ...
- JavaScript进阶之路(一)初学者的开始
一:写在前面的问题和话 一个javascript初学者的进阶之路! 背景:3年后端(ASP.NET)工作经验,javascript水平一般般,前端水平一般般.学习资料:犀牛书. 如有误导,或者错误的地 ...
- 梅须逊雪三分白,雪却输梅一段香——CSS动画与JavaScript动画
CSS动画并不是绝对比JavaScript动画性能更优越,开源动画库Velocity.js等就展现了强劲的性能. 一.两者的主要区别 先开门见山的说说两者之间的区别. 1)CSS动画: 基于CSS的动 ...
随机推荐
- 【weixin】微信h5支付
一.使用场景 H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付. 主要用于触屏版的手机浏览器请求微信支付的场景.可以方便 ...
- JS基础_打印出1-100之间所有的质数
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- python之字符串类型及其操作
1.1字符串类型的表示 字符串是字符的序列表示,可以由一对单引号('). 双引号(")或三引号(’")构成.其中,单引号和双引号都可以表示单行字符串,两者作用相同.使用单引号时,双 ...
- UEFI笔记 --- PeiReadOnlyVariable2->GetVariable()
问:在PEI阶段,PeiReadOnlyVariable2->GetVariable()可以从Pei Hob或NV RAM中获取UEFI变量,例如Setup默认值.若平台首次烧录BIOS并开机, ...
- 5.Linux 软件安装管理
1.RPM包安装 (RPM会有依赖性,即安装这个包之前,需要安装某个包) 查询已安装的rpm 列表 rpm -qa | grep xx 安装rpm包 rpm -ivh rpm 包名 -i ...
- REST easy with kbmMW #1
kbmMW 5.0支持REST服务器的开发,并且非常简单,下面看看如何实作一个REST服务器. 首先我们制作一个服务器应用程序,增加一个简单的Form,并放置kbmMW组件. 在Delphi中单击Fi ...
- 高性能SQLServer分页语句
第一种方法:效率最高 SELECT TOP 页大小 * FROM( SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1 ...
- apk 查看sha1签名
1,首先使用解压工具解开apk. 2,进入meta-inf文件夹,进入命令行模式 输入如下命令 keytool -printcert -file CERT.RSA
- Ubuntu 16.04 装机后如何永久更改ulimit和修改MySQL的存储路径datadir
Ubuntu 16.04 装机后的配置要点: 1. 网络的配置 2. 更改源列表 3. 永久更改ulimit ulimit限制着程序打开文件的数目,默认情况下为1024,作为服务器使用时,这个数字往往 ...
- 4.NIO_Channel 通道
1.通道(Channel) 由 java.nio.channels 包定义的.Channel 表示 IO 源与目标打开的连接.Channel 类似于传统的“流”.只不过 Channel 本身不能直接访 ...