V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
iugo
V2EX  ›  问与答

[新手问题] JavaScript 中的点号怎么用?

  •  
  •   iugo · 2015-03-28 10:21:42 +08:00 · 2403 次点击
    这是一个创建于 3523 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我先定义了一个字符串变量.

    var s = "a,b,c,"

    运行 s.typeof() 后出现问题

    TypeError: s.typeof is not a function

    运行 typeof(s) 之后成功了, 得到 string

    http://stackoverflow.com/questions/4164550/substring-error-is-not-a-function 看了类似的问题, 但是还是不太理解(应该是我语言不过关的问题).

    ---
    补充:

    发现如果方法名首字母大写就会出问题, 问题在这儿吗?
    第 1 条附言  ·  2015-03-28 11:59:52 +08:00
    写这样的标题希望能发散一下, 有类似下面的答案:

    1. 点号可以对某对象进行操作, 比如
    var text = "abc";
    text = text.substring(0,1);

    2. 点号可以获取对象下面的东西, 比如
    var json = "{"name":"Green"}";
    var name = json.name;

    3. 点号可以在 JavaScript 的正则中表示单个字符

    ...
    6 条回复    2015-03-28 11:52:13 +08:00
    bitwing
        1
    bitwing  
       2015-03-28 10:28:04 +08:00
    学学面向对象基本概念
    stiekel
        2
    stiekel  
       2015-03-28 10:50:03 +08:00
    如果楼主真想学JavaScript,尤其是学好,就不用指望在网上问这样的问题来达到目的了。
    基本上任何一个超过100页A4内容的JavaScript的教程,都会告诉你这是为什么。
    DT27
        3
    DT27  
       2015-03-28 11:00:40 +08:00
    s是字符串,没有typeof这个方法。所以不能s.typeof
    你网址那个问题,var currentLocation = document.location,
    muzLoc = currentLocation.substring(0,45)

    document.location是个对象,document.location.href才是字符串。
    字符串才能.substring(0,45)。

    你可以s.substring(...),不能s.typeos()...
    FrankFang128
        4
    FrankFang128  
       2015-03-28 11:02:28 +08:00 via Android
    typeof 是关键字好吗, GRFM
    7anshuai
        5
    7anshuai  
       2015-03-28 11:23:47 +08:00
    http://js101.co/ - jQuery 的新手教程中文翻译,推荐看下
    ChiangDi
        6
    ChiangDi  
       2015-03-28 11:52:13 +08:00
    typeof 是个操作符啊,又不是方法,怎么能这么用。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1006 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:34 · PVG 05:34 · LAX 13:34 · JFK 16:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.