JS学习笔记

来源:互联网 发布:网络翻唱歌手 编辑:程序博客网 时间:2024/06/05 10:44
6,js中变量 var定义的为局部变量,不加var为全局变量当我们使用访问一个没有声明的变量时,JS
会报错。而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式申明一个全局变量,这一点一定要注意
链接http://www.tuicool.com/articles/3EVVJj
7,var 是可变参数类型, 可以代表任何数据类型 var是匿名类型,系统会在赋值后判断他的类型·
8,如果两种不同数据类型相加,就相当于字符串的拼接
9,js对大小写是敏感的和大多数语言一样
10,js中4中输出方式
    使用 window.alert() 弹出警告框。
    使用 document.write() 方法将内容写到 HTML 文档中。
    使用 innerHTML 写入到 HTML 元素。
    使用 console.log() 写入到浏览器的控制台。
11,JavaScript 是脚本语言。浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。
12,给一个对象赋值 var o = {one:"ai",two:"haha"}; 我的感觉就想一个实体类的对象一样 ,调用o.one  或者o["one"]  相当于java中key取value,也就是一个属性
属性中可以添加方法如下
 var o = {one:"ai",
          two:"haha"
    fullName : function()
    {
           return this.one + " " + this.one;
        }
    };
调用方法使 用o.fullName();
13,js可以操纵html事件
事件     描述
onchange     HTML 元素改变
onclick     用户点击 HTML 元素
onmouseover     用户在一个HTML元素上移动鼠标
onmouseout     用户从一个HTML元素上移开鼠标
onkeydown     用户按下键盘按键
onload     浏览器已完成页面的加载
14,可以为我们做什么 JavaScript 可以做什么?

事件可以用于处理表单验证,用户输入,用户行为及浏览器动作:

    页面加载时触发事件
    页面关闭时触发事件
    用户点击按钮执行动作
    验证用户输入内容的合法性
    等等 ...

可以使用多种方法来执行 JavaScript 事件代码:

    HTML 事件属性可以直接执行 JavaScript 代码
    HTML 事件属性可以调用 JavaScript 函数
    你可以为 HTML 元素指定自己的事件处理程序
    你可以阻止事件的发生。
    等等 ...
15,在js中字符串可以调用length方法返回字符串长度,遇到需要输出的引号或者双引号记得加斜杠转义
16,在js中=== 为绝对相等,即数据类型与值都必须相等
17,原始的字符串是对象,没有属性和方法,可以调用js提供的方法 length 和prototype设置属性值,, 提供的方法和java差不多感觉如下
charAt()     返回指定索引位置的字符
charCodeAt()     返回指定索引位置字符的 Unicode 值
concat()     连接两个或多个字符串,返回连接后的字符串
fromCharCode()     将 Unicode 转换为字符串
indexOf()     返回字符串中检索指定字符第一次出现的位置
lastIndexOf()     返回字符串中检索指定字符最后一次出现的位置
localeCompare()     用本地特定的顺序来比较两个字符串
match()     找到一个或多个正则表达式的匹配
replace()     替换与正则表达式匹配的子串
search()     检索与正则表达式相匹配的值
slice()     提取字符串的片断,并在新的字符串中返回被提取的部分
split()     把字符串分割为子字符串数组
substr()     从起始索引号提取字符串中指定数目的字符
substring()     提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase()     根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase()     根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase()     把字符串转换为小写
toString()     返回字符串对象值
toUpperCase()     把字符串转换为大写
trim()     移除字符串首尾空白
valueOf()     返回某个字符串对象的原始值
18,字符串的拼接用+
19,在js中你可以使用 typeof 操作符来检测变量的数据类型。
20, typeof "John"                // 返回 string
    typeof 3.14                  // 返回 number
    typeof false                 // 返回 boolean
    typeof [1,2,3,4]             // 返回 object
    typeof {name:'John', age:34} // 返回 object
21,
Undefined 和 Null 的区别
typeof undefined             // undefined
typeof null                  // object
null === undefined           // false
null == undefined            // true
22,js中所有的数据类型
typeof 操作符

你可以使用 typeof 操作符来查看 JavaScript 变量的数据类型。
实例
typeof "John"                 // 返回 string
typeof 3.14                   // 返回 number
typeof NaN                    // 返回 number
typeof false                  // 返回 boolean
typeof [1,2,3,4]              // 返回 object
typeof {name:'John', age:34}  // 返回 object
typeof new Date()             // 返回 object
typeof function () {}         // 返回 function
typeof myCar                  // 返回 undefined (如果 myCar 没有声明)
typeof null                   // 返回 object
23,
 constructor 属性返回所有 JavaScript 变量的构造函数。
实例
"John".constructor                 // 返回函数 String()  { [native code] }
(3.14).constructor                 // 返回函数 Number()  { [native code] }
false.constructor                  // 返回函数 Boolean() { [native code] }
[1,2,3,4].constructor              // 返回函数 Array()   { [native code] }
{name:'John', age:34}.constructor  // 返回函数 Object()  { [native code] }
new Date().constructor             // 返回函数 Date()    { [native code] }
function () {}.constructor         // 返回函数 Function(){ [native code] }
你可以使用 constructor 属性来查看是对象是否为数组 (包含字符串 "Array"):或者是日期
24,全局都可以用String(100) 将数字改变为字符串,不只是数字可以放日期date() 和boolean值,dete()也有tostring方法和一些常用的操作时间的方法例如date().gettime 返回时间戳
在 Number 方法 ,你可以找到更多数字转换为字符串的方法:
方法     描述
toExponential()     把对象的值转换为指数计数法。
toFixed()     把数字转换为字符串,结果的小数点后有指定位数的数字。
toPrecision()     把数字格式化为指定的长度。
25,也提供了方法将字符串转化为数字
方法     描述
parseFloat()     解析一个字符串,并返回一个浮点数。
parseInt()     解析一个字符串,并返回一个整数。
26
自动转换类型

当 JavaScript 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型。

以下输出结果不是你所期望的:
5 + null    // 返回 5         null 转换为 0
"5" + null  // 返回"5null"   null 转换为 "null"
"5" + 1     // 返回 "51"      1 转换为 "1"
"5" - 1     // 返回 4         "5" 转换为 5
27,js中对正则的支持格式为:   /正则表达式主体/修饰符(可选)
在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。

search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
28,js中有变量提升策略,例如在一个函数中,如果定义了一个var变量写在函数低 而你在函数定义的上方就操作这个变量也是可以的,原因是因为
函数声明和变量声明总是会被解释器悄悄地被"提升"到方法体的最顶部。
29,对于大多数程序员来说并不知道 JavaScript 变量提升。

如果程序员不能很好的理解变量提升,他们写的程序就容易出现一些问题。

为了避免这些问题,通常我们在每个作用域开始前声明这些变量,这也是正常的 JavaScript 解析步骤,易于我们理解。
30,

<form action="demo_form.php" method="post">
  <input type="text" name="fname" required>
  <input type="submit" value="提交">
</form>
required属性 会支持自动验证  还有其他的属性如下

约束验证 HTML 输入属性
属性     描述
disabled     规定输入的元素不可用
max     规定输入元素的最大值
min     规定输入元素的最小值
pattern     规定输入元素值的模式
required     规定输入元素字段是必需的
type      规则输入元素的类型

完成列表,请查看 HTML 输入属性。
约束验证 CSS 伪类选择器
选择器     描述
:disabled     选取属性为 "disabled" 属性的 input 元素
:invalid     选取无效的 input 元素
:optional     选择没有"required"属性的 input 元素
:required     选择有"required"属性的 input 元素
:valid     选取有效值的 input 元素
31,json相关函数
函数    描述
JSON.parse()    用于将一个 JSON 字符串转换为 JavaScript 对象。
JSON.stringify()    用于将 JavaScript 值转换为 JSON 字符串。
32,在js中定义一个类似网页书签跳转href="#"与href="javascript:void(0)"的区别

# 包含了一个位置信息,默认的锚是#top 也就是网页的上端。

而javascript:void(0), 仅仅表示一个死链接。

在页面很长的时候会使用 # 来定位页面的具体位置,格式为:# + id。

如果你要定义一个死链接请使用 javascript:void(0) 。
33,自调用函数 function(){}();
34,作为学习阶段,我自己理解dom,今天才开始看这个,我的理解就是dom就是html的对象比如一个input text的 标签,以后知道是什么还会来改正


0 0
原创粉丝点击