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的动 ...
随机推荐
- QT 安卓 调用java类
用以下方式即可调用java类中的方法 QAndroidJniObject activity = QtAndroid::androidActivity(); QAndroidJniObject Devi ...
- CF505E Mr. Kitayuta vs. Bamboos
cf luogu 要使得最高的柱子高度最小,考虑二分这个高度,那么剩下的就是要指定一个操作方案,使得最终每个柱子高度\(\le mid\) 因为有个柱子高度不会\(<0\)的限制,所以正着模拟不 ...
- javascript相关的增删改查以及this的理解
前两天做了一个有关表单增删改查的例子,现在贴出来.主要是想好好说一下this. 下面贴一张我要做的表格效果. 就是实现简单的一个增删改查. 1.点击增加后自动增加一行: 2.点击保存当前行会将属性改成 ...
- macbook打印出现乱码解决方案
系统偏好设置 --> 打印机与扫描仪 --> + (左下角的加号) --> IP --> 输入打印机的ip地址,然后最下面的 “使用选择” 中选中 普通PCL 打印机,(默认的 ...
- Nginx如何配置防盗链
配置要点 none : 允许没有http_refer的请求访问资源: blocked : 允许不是http://开头的,不带协议的请求访问资源: 119.28.190.215 start.igrow. ...
- Google 开源的 Python 命令行库:初探 fire
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...
- windows下修改vagrant虚拟机中的html ,通过nginx访问后不生效
更改本地html文件,通过nginx配置的虚拟域名访问, 无论怎么修改内容,都不变化,即使我把内容删除一半,它显示的也是以前内容的一半,除非删除文件,才会从新生成. 解决办法 修改nginx.conf ...
- SocketClient
import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.i ...
- tftp client命令示例
tftp 192.168.1.1 -c put myfile theirfile tftp 192.168.1.1 -m binary -c put myfile theirfile The tftp ...
- (六)buildroot使用详解
为什么要使用buildroot? (文件系统搭建,强烈建议直接用buildroot,官网[http://buildroot.uclibc.org/]上有使用教程非常详细)文件系统通常要包含很多第三方软 ...