web的三要素:
HTML:搭建页面的基本结构
css: 对页面进行修饰-让页面更美观
JavaScript:让页面可以有交互行为(用户和界面)
1.js是什么:
JavaScript :页面的脚本语言,运行在页面上
不是Java的脚本语言
是一门客户端的脚本语言,不进行编译,直接解释运行
1)符合ECMAscript规范 es6
2)DOM (Document Object Model 文档对象模型)
3)BOM (Borwser Object Model )

2.js的特点
-解释执行 逐行执行
-基于对象 js内部提供了大量的内置对象,通用对象和常用方法
-适合做:
-客户端的数据计算
-客户端的表单验证(比如邮箱是否合法)
-浏览器的事件触发(和浏览器相关的操作只能由js去做)
-网页的特殊效果(只能js去做)
-服务器的异步交互(同步,所有操作都关联,异步,步不关联,步影响)

3.基本使用
1)行内式
如:直接在页面节点添加onclick="alert('11111')";
2)嵌入式(内部式)
如:1.页面节点添加onclick="f1()"
2.使用script标签
在标签里定义function f1(){}
3)外部式(文件调用式)
如:1.页面节点添加onclick="f1()"
2.使用script标签,引入js文件
3.在js文件中定义f1函数

4.js基本语法
* 由字符集Unicode字符集进行编码
* js的注释 //单行 /*多行*/
* 语句 表达式 运算符 (大小写敏感)
* 标识符 数字,字母,下划线,$,数字不能开头
基本组成部分(同Java)
见名知意,不能使用关键字,数字不能开头
驼峰命名法,从第二个单词字母开头大写
* 变量
-js是若类型语言 声明变量时使用关键字 var
-变量所引用的数据,都是有类型的
-没有初始化的变量,统一赋值为undefined
***js会根据不同的值,自动转换成对应的数据类型
数据类型有哪些
1.特殊类型
null - null在程序中代表无值,或者无对象,空
给变量赋值为null,来清空变量的内容
undefined -表示未定义
-声明1个变量,但是未初始化,变量的值为undefined
-对象的属性不存在
2.内置对象(只讲其中几个基本类型)
1)string 单双引号都可以 "" 或 ''
特殊字符需要转义
常用方法:indexOf() -返回指定字符在字符串中首次出现的下标
replace(a,b);
将指定字符a,替换为字符b,替换第一个
2)number 数值类型
js中不区分整数,浮点数
3)boolean
布尔类型 (boolean类型能自动转成number类型参与计算 ,true=1,false=0)
3.类型转换
1)自动转换
number + string = string
number + boolean=number
string + boolean=string
boolean+boolean=number
2)强制转换(函数来实现)
toString() 所有的数据类型都可以转成string
parseInt() 强转成整数
-如果不能强转,出来的是NaN
-如果是小数,会转成取整,小数点后的全部丢弃
parseFloat() 不能转NaN
isNaN() 表示是否是数值
-true:表示非数值
-false:表示数值
-------------------------------------------------------
栗子:
var age=34;
console.log(age);
结果为: 34

var name="zhangsan";
console.log(name);
结果为: zhangsan

var sex;
console.log(sex);
结果为: undefined

console.log(typeof age);
结果为: number

console.log(typeof name);
结果为: string

console.log(typeof sex);
结果为: undefined
-----------------------------------------------------

练习:验证用户输入的内容是否是数值
如果是 进行求平方运算
如果不是 提示输出数值

var ele=document.getElementById("txt_number");
console.log(ele);//以日志的形式打印具体对象的所有内容
alert(ele); //以alert的形式打印具体对象的所属类型
//获取输入框节点的值
var v=ele.value;
console.log(v);
---------------------------------------------------------------
*运算
算术: + - * / (只有除法和Java不同)
/:Java中 7/3=3
js中 7/2=3.5
逻辑运算: !(非) &(与) |(或) && || >= <= !=

js中 == 只比较值,不比较类型 (比如 1=="1" 结果true)
=== 全等于,比较值,同时也比较类型 (比如 1===1,"1"==="1" 结果true 1===true 结果false)
++ --
a++ 先将a的值进行运算,再赋值
++a 先将a赋值,在进行运算

条件?成立的操作:不成立的操作; (三目运算符)

练习:猜数字 ,内置1个数值(比如20)
比较用户输入的数字和内置数值是否相等,提示大了,小了,对了

<input id="txt_gress" onblur="allert(111)"> onblur:失去焦点
<input id="txt_gress" onblur="gress2(this.value)"> this :当前对象的使用

*流程控制语句
if...else...
if(表达式){
执行语句;
}else if(表达式){
执行语句;
}...else{

}
注意:Java中条件表达式必须返回boolean
js中可以是任何表达式
表达式的值 对应的boolean
true true
false false
"非空" true
"" flase
0 false
null false
undefined false
NaN false
****只有true和非空字符串是true****
这句话任何流程控制语句中都适用,包括for循环
-switch...case
switch(变量){
case 值:执行语句;break;
case 值:执行语句;break;
case 值:执行语句;break;
...
default :执行语句;break;
}
-for
for(var i=0;i<10;i++){
执行语句;
}
-while(表达式){
执行语句;
}
-do{执行语句;}while(表达式);
do...while()至少执行1次
while执行0-n次

练习:求1-10的阶乘
调错:1)检查浏览器缓存到底js代码
2)看报错信息
3)用断点debugger调试
4)在js代码中加alert或者console.log;

2)百元买百鸡
母鸡 5块 1只
公鸡 3块 1只
小鸡 1块 3只
问:100元买100只整鸡,一共有几种情况
思路:母鸡:0-20只;
公鸡:0-33只;
var count=0;
for(var i=0;i<=20;i++){//买母鸡
for(var j=0;j<=33;j++){//买公鸡
var z=100-i-j;//买小鸡
//小鸡的只数是3的整数倍&&总价格==100
if(z%3==0&&(5*i+j*3+z/3)==100){
count++;
}

}
}

查看用户输入内容(字符串)中出现的指定字符的个数

html04的更多相关文章

  1. 初始HTML04

    HTML 列表标签 无序列表 默认用实心圆点标识列表项 1 <ul> 2 <li>list item 列表项</li> 3 <li>list item ...

  2. Html与CSS快速入门01-基础概念

    Web前端技术一直是自己的薄弱环节,经常为了调节一个简单的样式花费大量的时间.最近趁着在做前端部分的开发,果断把这部分知识成体系的恶补一下.内容相对都比较简单,很类似工具手册的学习,但目标是熟练掌握. ...

  3. Html与CSS快速入门02-HTML基础应用

    这部分是html细节知识的学习. 快速入门系列--HTML-01简介 快速入门系列--HTML-02基础元素 快速入门系列--HTML-03高级元素和布局 快速入门系列--HTML-04进阶概念 示例 ...

  4. Html与CSS快速入门03-CSS基础应用

    这部分是html细节知识的学习. 快速入门系列--HTML-01简介 快速入门系列--HTML-02基础元素 快速入门系列--HTML-03高级元素和布局 快速入门系列--HTML-04进阶概念 边框 ...

  5. Html与CSS快速入门04-进阶应用

    这部分是html细节知识的学习. 快速入门系列--HTML-01简介 快速入门系列--HTML-02基础元素 快速入门系列--HTML-03高级元素和布局 快速入门系列--HTML-04进阶概念 之前 ...

  6. ASP.NET之HTML

    1.什么是html 用来描述网页的2.开发工具我们肯定是用vs啦3.img src 图片地址 <img src="img/aa.bmp" />; 4.超链接a标签 hr ...

随机推荐

  1. maven用变量的方法统一管理jar包版本

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  2. windows网卡共享网络时,报Internet连接共享访问被启用时,出现了一个错误。(null)

    今天笔者在自己电脑上作试验时,准备将无线网络连接共享给VMnet1时报Internet连接共享访问被启用时,出现了一个错误.(null)错误: 经上网查询到问题原因:没有启用 Windows Fire ...

  3. [工具] Sublime Text 使用指南

    http://bbs.it-home.org/thread-46291-1-1.html 摘要(Abstract) 更新记录 更正打开控制台的快捷键为Ctrl + ` 更正全局替换的快捷键为Ctrl ...

  4. Adobe edge animate制作HTML5动画可视化工具(一)

    Edge Animate for mac是Adobe最新出品的制作HTML5动画的可视化工具,简单的可以理解为HTML5版本的Flash Pro.在之后的文章中,我会逐一的介绍这款新的HTML5动画神 ...

  5. spring jdbcTemplate 操作存储过程

    Spring的SimpleJdbcTemplate将存储过程的调用进行了良好的封装,下面列出使用JdbcTemplate调用Oracle存储过程的三种情况: 一.无返回值的存储过程调用 1.存储过程代 ...

  6. js模拟点击打开超链接

    js模拟点击打开超链接,页面上有一些锚文本,如果用 JS 批量在新窗口打开. jquery示例: <div class="link"> <a href=" ...

  7. 浙江工业大学校赛 小M和天平

    小M和天平 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  8. ubuntu16.04下安装ros-kinetic

    参考:http://wiki.ros.org/kinetic/Installation/Ubuntu 1.添加ROS软件源 ~$ sudo sh -c 'echo "deb http://p ...

  9. ubuntu16.04下安装sublime_text

    1 在终端输入: sudo add-apt-repository ppa:webupd8team/sublime-text-3 添加sublime text3的软件源: 2 sudo apt-get ...

  10. codeforces 782B - The Meeting Place Cannot Be Changed

    time limit per test 5 seconds memory limit per test 256 megabytes input standard input output standa ...